-
Notifications
You must be signed in to change notification settings - Fork 0
37 lines (35 loc) · 1.51 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
name: CI/CD
on: [push]
jobs:
build:
env:
DOCKER_ACCOUNT: sogis
DOCKER_REPO: wmts-db
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
runs-on: ubuntu-latest
steps:
- name: Generate build number
uses: einaregilsson/build-number@v2
with:
token: ${{secrets.GITHUB_TOKEN}}
- name: Print new build number
run: echo "Build number is $BUILD_NUMBER"
- uses: actions/checkout@v1
- name: Build Docker images
run: |
export CI_JOB_TIMESTAMP=$(date +%Y%m%dT%H%M%S)
docker pull $DOCKER_ACCOUNT/$DOCKER_REPO:latest || true
docker build --pull --label $DOCKER_REPO.git_commit=$GITHUB_SHA --label $DOCKER_REPO.build=1.0.$BUILD_NUMBER --label $DOCKER_REPO.created=$CI_JOB_TIMESTAMP --cache-from $DOCKER_ACCOUNT/$DOCKER_REPO:latest -t $DOCKER_ACCOUNT/$DOCKER_REPO:latest -t $DOCKER_ACCOUNT/$DOCKER_REPO:1.0.$BUILD_NUMBER .
docker images
- name: Test Docker images
if: success()
run: |
docker-compose -f docker-compose.test.yml build
docker-compose -f docker-compose.test.yml run sut
- name: Publish Docker images
if: success() && github.ref == 'refs/heads/master'
run: |
echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin
docker push $DOCKER_ACCOUNT/$DOCKER_REPO:latest
docker push $DOCKER_ACCOUNT/$DOCKER_REPO:1.0.$BUILD_NUMBER