From 3a4f7b40b68205f43503c614fb9eae3f41a8c476 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Tue, 21 Mar 2023 10:57:05 +0100 Subject: [PATCH] supply github run number via json payload, tag branded images with ocelot build number --- .github/workflows/publish.yml | 2 +- deployment/scripts/branded-images.build.sh | 11 ++++++++++- deployment/scripts/branded-images.upload.sh | 11 ++++++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 179951fba..690184acf 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -306,4 +306,4 @@ jobs: token: ${{ secrets.OCELOT_PUBLISH_EVENT_PAT }} # this token is required to access the other repository event-type: trigger-ocelot-build-success repository: 'Ocelot-Social-Community/stage.ocelot.social' - client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}", "VERSION": "${VERSION}", "BUILD_DATE": "${BUILD_DATE}", "BUILD_COMMIT": "${BUILD_COMMIT}", "BUILD_VERSION": "${BUILD_VERSION}"}' \ No newline at end of file + client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}", "GITHUB_RUN_NUMBER": "${GITHUB_RUN_NUMBER}", "VERSION": "${VERSION}", "BUILD_DATE": "${BUILD_DATE}", "BUILD_COMMIT": "${BUILD_COMMIT}", "BUILD_VERSION": "${BUILD_VERSION}"}' \ No newline at end of file diff --git a/deployment/scripts/branded-images.build.sh b/deployment/scripts/branded-images.build.sh index 84b656253..bb86b29a6 100755 --- a/deployment/scripts/branded-images.build.sh +++ b/deployment/scripts/branded-images.build.sh @@ -19,15 +19,20 @@ echo "Using CONFIGURATION=${CONFIGURATION}" # configuration DOCKERHUB_ORGANISATION=${DOCKERHUB_ORGANISATION:-"ocelotsocialnetwork"} OCELOT_VERSION=${OCELOT_VERSION:-$(node -p -e "require('${SCRIPT_DIR}/../../package.json').version")} +OCELOT_GITHUB_RUN_NUMBER=${OCELOT_GITHUB_RUN_NUMBER:-master} +OCELOT_VERSION_BUILD=${OCELOT_VERSION_BUILD:-${OCELOT_VERSION}-${OCELOT_GITHUB_RUN_NUMBER}} BRANDED_VERSION=${BRANDED_VERSION:-${GITHUB_RUN_NUMBER:-"local"}} BUILD_DATE=${BUILD_DATE:-$(date -u +'%Y-%m-%dT%H:%M:%SZ')} -BUILD_VERSION=${BRANDED_VERSION}-ocelot.social${OCELOT_VERSION} +BUILD_VERSION_BASE=${BRANDED_VERSION}-ocelot.social${OCELOT_VERSION} +BUILD_VERSION=${BRANDED_VERSION}-ocelot.social${OCELOT_VERSION_BUILD} BUILD_COMMIT=${GITHUB_SHA:-"0000000"} # backend docker build --target branded \ -t "${DOCKERHUB_ORGANISATION}/backend-branded:latest" \ -t "${DOCKERHUB_ORGANISATION}/backend-branded:${OCELOT_VERSION}" \ + -t "${DOCKERHUB_ORGANISATION}/backend-branded:${OCELOT_VERSION_BUILD}" \ + -t "${DOCKERHUB_ORGANISATION}/backend-branded:${BUILD_VERSION_BASE}" \ -t "${DOCKERHUB_ORGANISATION}/backend-branded:${BUILD_VERSION}" \ -f "${SCRIPT_DIR}/../src/docker/backend.Dockerfile" \ --build-arg "CONFIGURATION=${CONFIGURATION}" \ @@ -39,6 +44,8 @@ docker build --target branded \ docker build --target branded \ -t "${DOCKERHUB_ORGANISATION}/webapp-branded:latest" \ -t "${DOCKERHUB_ORGANISATION}/webapp-branded:${OCELOT_VERSION}" \ + -t "${DOCKERHUB_ORGANISATION}/webapp-branded:${OCELOT_VERSION_BUILD}" \ + -t "${DOCKERHUB_ORGANISATION}/webapp-branded:${BUILD_VERSION_BASE}" \ -t "${DOCKERHUB_ORGANISATION}/webapp-branded:${BUILD_VERSION}" \ -f "${SCRIPT_DIR}/../src/docker/webapp.Dockerfile" \ --build-arg "CONFIGURATION=${CONFIGURATION}" \ @@ -50,6 +57,8 @@ docker build --target branded \ docker build --target branded \ -t "${DOCKERHUB_ORGANISATION}/maintenance-branded:latest" \ -t "${DOCKERHUB_ORGANISATION}/maintenance-branded:${OCELOT_VERSION}" \ + -t "${DOCKERHUB_ORGANISATION}/maintenance-branded:${OCELOT_VERSION_BUILD}" \ + -t "${DOCKERHUB_ORGANISATION}/maintenance-branded:${BUILD_VERSION_BASE}" \ -t "${DOCKERHUB_ORGANISATION}/maintenance-branded:${BUILD_VERSION}" \ -f "${SCRIPT_DIR}/../src/docker/maintenance.Dockerfile" \ --build-arg "CONFIGURATION=${CONFIGURATION}" \ diff --git a/deployment/scripts/branded-images.upload.sh b/deployment/scripts/branded-images.upload.sh index 3891fe474..0d3fdb6d6 100755 --- a/deployment/scripts/branded-images.upload.sh +++ b/deployment/scripts/branded-images.upload.sh @@ -13,8 +13,11 @@ SCRIPT_DIR=$(dirname $SCRIPT_PATH) # configuration DOCKERHUB_ORGANISATION=${DOCKERHUB_ORGANISATION:-"ocelotsocialnetwork"} OCELOT_VERSION=${OCELOT_VERSION:-$(node -p -e "require('${SCRIPT_DIR}/../../package.json').version")} +OCELOT_GITHUB_RUN_NUMBER=${OCELOT_GITHUB_RUN_NUMBER:-master} +OCELOT_VERSION_BUILD=${OCELOT_VERSION_BUILD:-${OCELOT_VERSION}-${OCELOT_GITHUB_RUN_NUMBER}} BRANDED_VERSION=${BRANDED_VERSION:-${GITHUB_RUN_NUMBER:-"local"}} -BUILD_VERSION=${BRANDED_VERSION}-ocelot.social${OCELOT_VERSION} +BUILD_VERSION_BASE=${BRANDED_VERSION}-ocelot.social${OCELOT_VERSION} +BUILD_VERSION=${BRANDED_VERSION}-ocelot.social${OCELOT_VERSION_BUILD} # login to dockerhub echo "${DOCKERHUB_TOKEN}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin @@ -22,14 +25,20 @@ echo "${DOCKERHUB_TOKEN}" | docker login -u "${DOCKERHUB_USERNAME}" --password-s # push backend images docker push ${DOCKERHUB_ORGANISATION}/backend-branded:latest docker push ${DOCKERHUB_ORGANISATION}/backend-branded:${OCELOT_VERSION} +docker push ${DOCKERHUB_ORGANISATION}/backend-branded:${OCELOT_VERSION_BUILD} +docker push ${DOCKERHUB_ORGANISATION}/backend-branded:${BUILD_VERSION_BASE} docker push ${DOCKERHUB_ORGANISATION}/backend-branded:${BUILD_VERSION} # push webapp images docker push ${DOCKERHUB_ORGANISATION}/webapp-branded:latest docker push ${DOCKERHUB_ORGANISATION}/webapp-branded:${OCELOT_VERSION} +docker push ${DOCKERHUB_ORGANISATION}/webapp-branded:${OCELOT_VERSION_BUILD} +docker push ${DOCKERHUB_ORGANISATION}/webapp-branded:${BUILD_VERSION_BASE} docker push ${DOCKERHUB_ORGANISATION}/webapp-branded:${BUILD_VERSION} # push maintenance images docker push ${DOCKERHUB_ORGANISATION}/maintenance-branded:latest docker push ${DOCKERHUB_ORGANISATION}/maintenance-branded:${OCELOT_VERSION} +docker push ${DOCKERHUB_ORGANISATION}/maintenance-branded:${OCELOT_VERSION_BUILD} +docker push ${DOCKERHUB_ORGANISATION}/maintenance-branded:${BUILD_VERSION_BASE} docker push ${DOCKERHUB_ORGANISATION}/maintenance-branded:${BUILD_VERSION} \ No newline at end of file