diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 72f7a2b..f996862 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,6 +41,32 @@ deploy:staging:dry-run: - if: $CI_COMMIT_BRANCH == "main" when: always +deploy: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:staging: stage: deploy script: @@ -68,3 +94,31 @@ deploy:staging: rules: - if: $CI_COMMIT_BRANCH == "main" when: always + +deploy: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 diff --git a/charts/backoffice/values.production.yaml b/charts/backoffice/values.production.yaml new file mode 100644 index 0000000..2dee05e --- /dev/null +++ b/charts/backoffice/values.production.yaml @@ -0,0 +1,8 @@ +ingress: + enabled: true + host: backoffice.mareshq.com + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + +backoffice: + env: production