87 lines
1.5 KiB
YAML
87 lines
1.5 KiB
YAML
# This template has been DEPRECATED. Consider using Auto DevOps instead:
|
|
# https://docs.gitlab.com/ee/topics/autodevops
|
|
|
|
# Explanation on the scripts:
|
|
# https://gitlab.com/gitlab-examples/kubernetes-deploy/blob/master/README.md
|
|
image: registry.gitlab.com/gitlab-examples/kubernetes-deploy
|
|
|
|
variables:
|
|
# Application deployment domain
|
|
KUBE_DOMAIN: domain.example.com
|
|
|
|
stages:
|
|
- build
|
|
- test
|
|
- review
|
|
- staging
|
|
- canary
|
|
- production
|
|
- cleanup
|
|
|
|
build:
|
|
stage: build
|
|
script:
|
|
- command build
|
|
only:
|
|
- branches
|
|
|
|
canary:
|
|
stage: canary
|
|
script:
|
|
- command canary
|
|
environment:
|
|
name: production
|
|
url: http://$CI_PROJECT_PATH_SLUG.$KUBE_DOMAIN
|
|
when: manual
|
|
only:
|
|
- master
|
|
|
|
production:
|
|
stage: production
|
|
script:
|
|
- command deploy
|
|
environment:
|
|
name: production
|
|
url: http://$CI_PROJECT_PATH_SLUG.$KUBE_DOMAIN
|
|
when: manual
|
|
only:
|
|
- master
|
|
|
|
staging:
|
|
stage: staging
|
|
script:
|
|
- command deploy
|
|
environment:
|
|
name: staging
|
|
url: http://$CI_PROJECT_PATH_SLUG-staging.$KUBE_DOMAIN
|
|
only:
|
|
- master
|
|
|
|
review:
|
|
stage: review
|
|
script:
|
|
- command deploy
|
|
environment:
|
|
name: review/$CI_COMMIT_REF_NAME
|
|
url: http://$CI_PROJECT_PATH_SLUG-$CI_ENVIRONMENT_SLUG.$KUBE_DOMAIN
|
|
on_stop: stop_review
|
|
only:
|
|
- branches
|
|
except:
|
|
- master
|
|
|
|
stop_review:
|
|
stage: cleanup
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
script:
|
|
- command destroy
|
|
environment:
|
|
name: review/$CI_COMMIT_REF_NAME
|
|
action: stop
|
|
when: manual
|
|
allow_failure: true
|
|
only:
|
|
- branches
|
|
except:
|
|
- master
|