1
0
Fork 0
This repository has been archived on 2025-08-23. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
mareshq-backoffice-v1-monolith/.gitlab-ci.yml

124 lines
3.8 KiB
YAML

default:
image: registry.mareshq.com/mareshq/ci-toolkit:latest
stages:
- build
- deploy:dry-run
- deploy
docker build:
stage: build
before_script:
- echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
- docker info
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA
deploy to staging (dry-run):
stage: deploy:dry-run
script:
- >
helm \
upgrade \
--install \
--atomic \
--wait=true \
--wait-for-jobs=true \
--timeout=900s \
--dry-run=true \
--namespace backoffice-staging \
--values ./charts/backoffice/values.staging.yaml \
--set image.tag=$CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA \
--set dockerconfigjsonBase64=dummy \
--set backoffice.secrets.databaseURL=dummy \
--set backoffice.secrets.nextauthSecret=dummy \
--set backoffice.secrets.googleClientID=dummy \
--set backoffice.secrets.googleClientSecret=dummy \
backoffice \
./charts/backoffice
rules:
- if: $CI_COMMIT_BRANCH == "main"
when: always
deploy to production (dry-run):
stage: deploy:dry-run
script:
- >
helm \
upgrade \
--install \
--atomic \
--wait=true \
--wait-for-jobs=true \
--timeout=900s \
--dry-run=true \
--namespace backoffice-production \
--values ./charts/backoffice/values.production.yaml \
--set image.tag=$CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA \
--set dockerconfigjsonBase64=dummy \
--set backoffice.secrets.databaseURL=dummy \
--set backoffice.secrets.nextauthSecret=dummy \
--set backoffice.secrets.googleClientID=dummy \
--set backoffice.secrets.googleClientSecret=dummy \
backoffice \
./charts/backoffice
rules:
- if: $CI_COMMIT_BRANCH == "production"
when: always
deploy to staging:
stage: deploy
script:
- >
helm \
upgrade \
--install \
--atomic \
--wait=true \
--wait-for-jobs=true \
--timeout=900s \
--namespace backoffice-staging \
--values ./charts/backoffice/values.staging.yaml \
--set image.tag=$CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA \
--set dockerconfigjsonBase64=$DOCKERCONFIG_BASE64 \
--set backoffice.secrets.databaseURL=$DATABASE_URL \
--set backoffice.secrets.nextauthSecret=$NEXTAUTH_SECRET \
--set backoffice.secrets.googleClientID=$GOOGLE_CLIENT_ID \
--set backoffice.secrets.googleClientSecret=$GOOGLE_CLIENT_SECRET \
backoffice \
./charts/backoffice
environment:
name: staging
url: https://staging.backoffice.mareshq.com
rules:
- if: $CI_COMMIT_BRANCH == "main"
when: always
deploy to production:
stage: deploy
script:
- >
helm \
upgrade \
--install \
--atomic \
--wait=true \
--wait-for-jobs=true \
--timeout=900s \
--namespace backoffice-production \
--values ./charts/backoffice/values.production.yaml \
--set image.tag=$CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA \
--set dockerconfigjsonBase64=$DOCKERCONFIG_BASE64 \
--set backoffice.secrets.databaseURL=$DATABASE_URL \
--set backoffice.secrets.nextauthSecret=$NEXTAUTH_SECRET \
--set backoffice.secrets.googleClientID=$GOOGLE_CLIENT_ID \
--set backoffice.secrets.googleClientSecret=$GOOGLE_CLIENT_SECRET \
backoffice \
./charts/backoffice
environment:
name: production
url: https://backoffice.mareshq.com
rules:
- if: $CI_COMMIT_BRANCH == "production"
when: always