Skip to content

Commit

Permalink
CI: add support for production deployment on image tag
Browse files Browse the repository at this point in the history
  • Loading branch information
OriHoch committed Jun 21, 2021
1 parent bbef645 commit 13b7ee2
Showing 1 changed file with 23 additions and 9 deletions.
32 changes: 23 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,14 @@ jobs:
- env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SRM_DEVOPS_DEPLOY_KEY: ${{ secrets.SRM_DEVOPS_DEPLOY_KEY }}
IMAGE_NAME: srm-frontend
CHART_NAME: site
IMAGE_NAME: srm-api
CHART_NAME: api
run: |
if [[ "${GITHUB_REF}" =~ ^refs/tags/.* ]]; then
TAG_NAME="${GITHUB_REF/refs\/tags\//}"
else
TAG_NAME=""
fi
BUILD_ARGS=""
if docker pull "ghcr.io/whiletrue-industries/${IMAGE_NAME}:latest"; then
BUILD_ARGS="--cache-from ghcr.io/whiletrue-industries/${IMAGE_NAME}:latest"
Expand All @@ -20,18 +25,27 @@ jobs:
echo "${GITHUB_TOKEN}" | docker login https://ghcr.io -u whiletrue-industries --password-stdin &&\
docker tag api "ghcr.io/whiletrue-industries/${IMAGE_NAME}:${GITHUB_SHA}" &&\
docker push "ghcr.io/whiletrue-industries/${IMAGE_NAME}:${GITHUB_SHA}" &&\
if [ "${GITHUB_REF}" == "refs/heads/main" ]; then
docker tag api "ghcr.io/whiletrue-industries/${IMAGE_NAME}:latest" &&\
docker push "ghcr.io/whiletrue-industries/${IMAGE_NAME}:latest" &&\
if [ "${GITHUB_REF}" == "refs/heads/main" ] || [ "${TAG_NAME}" != "" ]; then
echo "${SRM_DEVOPS_DEPLOY_KEY}" > srm_devops_deploy_key &&\
chmod 400 srm_devops_deploy_key &&\
export GIT_SSH_COMMAND="ssh -i $(pwd)/srm_devops_deploy_key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" &&\
git clone [email protected]:whiletrue-industries/srm-devops.git &&\
git config --global user.name "srm-devops CI" &&\
git config --global user.email "srm-devops-ci@localhost" &&\
cd srm-devops &&\
bin/update_yaml.py '{"'"${CHART_NAME}"'":{"image":"'"ghcr.io/whiletrue-industries/${IMAGE_NAME}:${GITHUB_SHA}"'"}}' "helm/${CHART_NAME}/values.auto-updated.yaml" &&\
git add "helm/${CHART_NAME}/values.auto-updated.yaml" &&\
git commit -m "update ${CHART_NAME} helm chart auto updated values image" &&\
if [ "${TAG_NAME}" == "" ]; then
VALUES_AUTO_UPDATED_FILE="helm/${CHART_NAME}/values.auto-updated.yaml"
IMAGE="ghcr.io/whiletrue-industries/${IMAGE_NAME}:${GITHUB_SHA}"
else
VALUES_AUTO_UPDATED_FILE="helm/${CHART_NAME}/values.auto-updated.production.yaml"
IMAGE="ghcr.io/whiletrue-industries/${IMAGE_NAME}:${TAG_NAME}-${GITHUB_SHA}"
fi &&\
bin/update_yaml.py '{"'"${CHART_NAME}"'":{"image":"'"${IMAGE}"'"}}' "${VALUES_AUTO_UPDATED_FILE}" &&\
git add "${VALUES_AUTO_UPDATED_FILE}" &&\
git commit -m "update image: ${VALUES_AUTO_UPDATED_FILE}" &&\
git push origin main
fi
fi &&\
if [ "${GITHUB_REF}" == "refs/heads/main" ]; then
docker tag api "ghcr.io/whiletrue-industries/${IMAGE_NAME}:latest" &&\
docker push "ghcr.io/whiletrue-industries/${IMAGE_NAME}:latest"
fi

0 comments on commit 13b7ee2

Please sign in to comment.