.gitlab-ci.yml
Deployer des images docker
include:
- project: 'homeserve/udp/templates'
file:
- '/.deployer.yml'
ref: 'master'
stages:
- 🚀deploy
# deployer votre application
deploy_staging:
extends: .deploy
stage: 🚀deploy
# deployer votre application et restaurer les states (databases et buckets ) sauvegardés
deploy_restore_staging:
extends: .restore
stage: 🚀deploy
# effectuer un backup des states existants pour la branche
deploy_restore_staging:
extends: .restore
stage: 🚀deploy
# supprimer le deploiement et les images liés à la branche
stop_delete_env_app:
extends: .stop
stage: 🚀deploy
Deployer des builds
include:
- project: 'homeserve/udp/templates'
file:
- '/.deployer.yml'
ref: 'master'
stages:
- 🚀deploy
# deployer votre application
# envoie du build dans le bucket et configurer l'ingress
deploy_staging:
extends: .deploy_link_front
stage: 🚀deploy
Template
variables:
NAMESPACE_K8S: default
.config: &env_conf
image: registry.gitlab.com/devops_homeserve/deployer:v1.13.8
variables:
DOCKER_DRIVER: "overlay2"
DOCKER_TLS_CERTDIR: ""
SOURCE_PATH: "build/*"
TARGET_PATH: "/"
OFFSET: ""
TERRAFORM_TEMPLATE_BRANCH: v1.5.9
CHART_TEMPLATE_BRANCH: v1.6.7
after_script:
- DYNAMIC_ENVIRONMENT_URL=http://$(cat deploy.url)
- echo "DYNAMIC_ENVIRONMENT_URL=$DYNAMIC_ENVIRONMENT_URL" >> deploy.env
environment:
name: $CI_COMMIT_REF_SLUG
url: $DYNAMIC_ENVIRONMENT_URL
on_stop: stop_delete_env_app
kubernetes:
namespace: $NAMESPACE_K8S
artifacts:
name: deployer.artifact
paths:
- .states
- .Terraform
- .Chart
reports:
dotenv: deploy.env
when: always
services:
- docker:dind
.deploy:
stage: deploy
services:
- docker:dind
script:
- deployer deploy -l debug
<<: *env_conf
.deploy_link_front:
script:
- >
if ["$OFFSET" == ""]
deployer copy $SOURCE_PATH $TARGET_PATH --link
else
deployer copy $SOURCE_PATH $TARGET_PATH --link --offset $OFFSET
fi
<<: *env_conf
.deploy_front:
script:
- >
if ["$OFFSET" == ""]
deployer copy $SOURCE_PATH $TARGET_PATH
else
deployer copy $SOURCE_PATH $TARGET_PATH --offset $OFFSET
fi
<<: *env_conf
.link_front:
script:
- >
if ["$OFFSET" == ""]
deployer link $SOURCE_PATH $TARGET_PATH
else
deployer link $SOURCE_PATH $TARGET_PATH --offset $OFFSET
fi
<<: *env_conf
.backup:
script:
- deployer deploy -c KIND:backup
<<: *env_conf
.restore:
script:
- deployer deploy -c KIND:restore -l debug
when: manual
<<: *env_conf
.stop:
image: registry.gitlab.com/devops_homeserve/deployer:v1.13.8
variables:
DOCKER_DRIVER: "overlay2"
DOCKER_TLS_CERTDIR: ""
TERRAFORM_TEMPLATE_BRANCH: v1.5.9
CHART_TEMPLATE_BRANCH: v1.6.7
OFFSET: ""
services:
- docker:dind
script:
- deployer destroy -l debug
when: manual
environment:
name: $CI_COMMIT_REF_SLUG
action: stop
kubernetes:
namespace: $NAMESPACE_K8S
dependencies: []