11name : build and publish container
22
3- on :
4- push :
5- branches :
6- - develop
3+ on : [push]
74env :
85 DOCKER_HUB_ORGANIZATION : ${{ vars.DOCKER_HUB_ORGANIZATION }}
96 DOCKER_HUB_REPOSITORY : api-explorer-ii
107
8+
119jobs :
1210 build :
1311 runs-on : ubuntu-latest
@@ -18,21 +16,34 @@ jobs:
1816 id : extract_branch
1917
2018 - uses : actions/checkout@v4
21- - name : Build the Docker image with latest tag
19+ - name : Build container images
2220 run : |
23- echo "${{ secrets.DOCKER_HUB_TOKEN }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin docker.io
24- docker build . --file Dockerfiles/Dockerfile_backend --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:$GITHUB_SHA --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:${{ steps.extract_branch.outputs.branch }} --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:latest
25- docker build . --file Dockerfiles/Dockerfile_frontend --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}-nginx:$GITHUB_SHA --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}-nginx:${{ steps.extract_branch.outputs.branch }} --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}-nginx:latest
26- echo docker api-explorer-ii with latest tag done
21+ if [ "${{ github.ref }}" == "refs/heads/develop" ]; then
22+ echo start building api-explorer-ii containers develop branch with latest tag
23+ docker build . --file Dockerfiles/Dockerfile_backend --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:$GITHUB_SHA --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:${{ steps.extract_branch.outputs.branch }} --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:latest
24+ docker build . --file Dockerfiles/Dockerfile_frontend --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}-nginx:$GITHUB_SHA --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}-nginx:${{ steps.extract_branch.outputs.branch }} --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}-nginx:latest
25+ echo building api-explorer-ii containers develop branch with latest tag done
26+ else
27+ echo start building api-explorer-ii containers non-develop branch without latest tag
28+ docker build . --file Dockerfiles/Dockerfile_backend --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:$GITHUB_SHA --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:${{ steps.extract_branch.outputs.branch }}
29+ docker build . --file Dockerfiles/Dockerfile_frontend --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}-nginx:$GITHUB_SHA --tag docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}-nginx:${{ steps.extract_branch.outputs.branch }}
30+ echo building api-explorer-ii containers non-develop branch without latest tag done
31+ fi
2732
33+ - name : Upload container images
34+ if : github.secrets.DOCKER_HUB_USERNAME != ''
35+ run : |
36+ echo "${{ secrets.DOCKER_HUB_TOKEN }}" | docker login -u "${{ secrets.DOCKER_HUB_USERNAME }}" --password-stdin docker.io
2837 docker push docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }} --all-tags
2938 docker push docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}-nginx --all-tags
30- echo docker push api-explorer-ii with latest tag done
39+ echo pushing api-explorer-ii containers done
3140
3241 - uses : sigstore/cosign-installer@main
3342 - name : Write signing key to disk (only needed for `cosign sign --key`)
43+ if : github.secrets.DOCKER_HUB_USERNAME != ''
3444 run : echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > cosign.key
3545 - name : Sign container image with annotations from our environment
46+ if : github.secrets.DOCKER_HUB_USERNAME != ''
3647 env :
3748 COSIGN_PASSWORD : ${{ secrets.COSIGN_PASSWORD }}
3849 run : |
4253 -a "ref=${{ github.sha }}" \
4354 docker.io/${{ env.DOCKER_HUB_ORGANIZATION }}/${{ env.DOCKER_HUB_REPOSITORY }}:${{ steps.extract_branch.outputs.branch }}
4455
56+
57+
58+
0 commit comments