oneuptime/.gitlab-ci.yml
2020-08-26 15:10:10 +01:00

127 lines
3.5 KiB
YAML

# IMPORTANT:
#
# This CI/CD will run on an Ubuntu VM. After this script runs, the VM will retain the state.
# It's your responsibility to clean the VM up in the cleanup stage after job finishes executing.
# This script runs on Microk8s. Since our deployments are on Kubernetes, our aim is to create EXACT same replica for test, staging and production.
# Define stages
stages:
- BuildAndTest
- Deploy
- RollbackIfDeploymentFail
- SmokeTest
- RollbackIfSmokeTestFail
include:
# GLOBAL JOBS
- '/ci/spec/global/lint.yaml'
- '/ci/spec/global/rollback.yaml'
# ACCOUNTS
- '/ci/spec/accounts/audit.yaml'
- '/ci/spec/accounts/build-n-test.yaml'
- '/ci/spec/accounts/deploy.yaml'
- '/ci/spec/accounts/rollback.yaml'
- '/ci/spec/accounts/lighthouse.yaml'
# ADMIN DASHBOARD
- '/ci/spec/admin-dashboard/audit.yaml'
- '/ci/spec/admin-dashboard/build-n-test.yaml'
- '/ci/spec/admin-dashboard/deploy.yaml'
- '/ci/spec/admin-dashboard/rollback.yaml'
# API-DOCS DASHBOARD
- '/ci/spec/api-docs/audit.yaml'
- '/ci/spec/api-docs/build-n-test.yaml'
- '/ci/spec/api-docs/deploy.yaml'
- '/ci/spec/api-docs/rollback.yaml'
# BACKEND
- '/ci/spec/backend/audit.yaml'
- '/ci/spec/backend/build-n-test.yaml'
- '/ci/spec/backend/deploy.yaml'
- '/ci/spec/backend/rollback.yaml'
# DASHBOARD
- '/ci/spec/dashboard/audit.yaml'
- '/ci/spec/dashboard/build-n-test.yaml'
- '/ci/spec/dashboard/deploy.yaml'
- '/ci/spec/dashboard/rollback.yaml'
# HELM-CHART
- '/ci/spec/helm-chart/audit.yaml'
- '/ci/spec/helm-chart/build-n-test.yaml'
- '/ci/spec/helm-chart/deploy.yaml'
- '/ci/spec/helm-chart/rollback.yaml'
# HOME
- '/ci/spec/home/audit.yaml'
- '/ci/spec/home/build-n-test.yaml'
- '/ci/spec/home/deploy.yaml'
- '/ci/spec/home/rollback.yaml'
- '/ci/spec/home/lighthouse.yaml'
# HTTP-TEST-SERVER
- '/ci/spec/http-test-server/audit.yaml'
- '/ci/spec/http-test-server/build-n-test.yaml'
- '/ci/spec/http-test-server/deploy.yaml'
- '/ci/spec/http-test-server/rollback.yaml'
# INIT-SCRIPT
- '/ci/spec/init-script/audit.yaml'
- '/ci/spec/init-script/build-n-test.yaml'
- '/ci/spec/init-script/deploy.yaml'
# LICENSING
- '/ci/spec/licensing/audit.yaml'
- '/ci/spec/licensing/build-n-test.yaml'
- '/ci/spec/licensing/deploy.yaml'
- '/ci/spec/licensing/rollback.yaml'
# PROBE
- '/ci/spec/probe/audit.yaml'
- '/ci/spec/probe/build-n-test.yaml'
- '/ci/spec/probe/deploy.yaml'
- '/ci/spec/probe/rollback.yaml'
# SERVER-MONITOR
- '/ci/spec/server-monitor/audit.yaml'
- '/ci/spec/server-monitor/build-n-test.yaml'
- '/ci/spec/server-monitor/deploy.yaml'
# STATUS-PAGE
- '/ci/spec/status-page/audit.yaml'
- '/ci/spec/status-page/build-n-test.yaml'
- '/ci/spec/status-page/deploy.yaml'
- '/ci/spec/status-page/rollback.yaml'
# ZAPIER
- '/ci/spec/zapier/audit.yaml'
- '/ci/spec/zapier/build-n-test.yaml'
# E2E
- '/ci/spec/e2e/docker-compose-entreprise-test.yaml'
- '/ci/spec/e2e/docker-compose-test.yaml'
- '/ci/spec/e2e/kubernetes-enterprise-test.yaml'
- '/ci/spec/e2e/kubernetes-test.yaml'
# SMOKE TEST
- '/ci/spec/smoke-tests/staging.yaml'
- '/ci/spec/smoke-tests/production.yaml'
# LOG-JS
- '/ci/spec/log-js/audit.yaml'
- '/ci/spec/log-js/build-n-test.yaml'
- '/ci/spec/log-js/deploy.yaml'
# LOG-PHP
- '/ci/spec/log-php/audit.yaml'
- '/ci/spec/log-php/build-n-test.yaml'
- '/ci/spec/log-php/deploy.yaml'
# LOG-JAVA
- '/ci/spec/log-java/audit.yaml'
- '/ci/spec/log-java/build-n-test.yaml'
# - '/ci/spec/log-java/deploy.yaml'