Skip to content
Snippets Groups Projects

#90 Feature/setup ci cd

Open #90 Feature/setup ci cd
2 unresolved threads
Open Ranindya Paramitha requested to merge feature/setup-ci-cd into develop
2 unresolved threads
Viewing commit 7bb0451b
Show latest version
3 files
+ 74
48
Preferences
Compare changes
Files
3
+ 68
43
@@ -7,7 +7,8 @@ services:
## Should contain at least these three stages for a basic CI/CD
stages:
- build
- review
- test
- release
- deploy
variables:
@@ -16,7 +17,7 @@ variables:
DOCKER_TLS_CERTDIR: ""
k8s-build-production:
build:
variables:
DOCKER_HOST: tcp://localhost:2375
@@ -28,12 +29,11 @@ k8s-build-production:
- install_compose
- sed_files compose
- docker-compose build --pull --compress --force-rm
- push_registry
only:
- release
k8s-tag-production:
tag:
variables:
DOCKER_HOST: tcp://localhost:2375
stage: build
@@ -48,12 +48,37 @@ k8s-tag-production:
- docker-compose pull
- push_registry
test:
variables:
DOCKER_HOST: tcp://localhost:2375
stage: test
only:
- release
script:
- registry_login
- install_compose
- sed_files compose
- docker-compose -p tests run -p 3000 --rm backend npm run test
release:
variables:
DOCKER_HOST: tcp://localhost:2375
stage: release
only:
- release
script:
- registry_login
- install_compose
- sed_files compose
- docker-compose pull
- push_registry
deploy_review:
deploy:
image:
name: lachlanevenson/k8s-kubectl:latest
entrypoint: ["/bin/sh", "-c"]
stage: review
stage: deploy
only:
- branches
except:
@@ -79,43 +104,43 @@ deploy_review:
# - kubectl rollout status -f kube-deployment.yml
- kubectl get deploy,svc,ing,pod -l app="$(echo ${CI_PROJECT_NAME} | tr "." "-")",ref="${CI_ENVIRONMENT_SLUG}"
stop_review:
image:
name: lachlanevenson/k8s-kubectl:latest
entrypoint: ["/bin/sh", "-c"]
stage: review
variables:
GIT_STRATEGY: none
when: manual
only:
- release
except:
- tags
environment:
name: review/$CI_BUILD_REF_NAME
action: stop
script:
- kubectl version
- kubectl delete ing -l ref=${CI_ENVIRONMENT_SLUG}
- kubectl delete all -l ref=${CI_ENVIRONMENT_SLUG}
deploy_live:
image:
name: lachlanevenson/k8s-kubectl:latest
entrypoint: ["/bin/sh", "-c"]
stage: deploy
environment:
name: live
url: $AUTO_DEVOPS_DOMAIN
only:
- tags
when: manual
script:
- kubectl version
- sed_files deployment
- kubectl apply -f kube-deployment.yml
# - kubectl rollout status -f kube-deployment.yml
- kubectl get deploy,svc,ing,pod -l app="$(echo ${CI_PROJECT_NAME} | tr "." "-")",ref="${CI_ENVIRONMENT_SLUG}"
#stop_review:
# image:
# name: lachlanevenson/k8s-kubectl:latest
# entrypoint: ["/bin/sh", "-c"]
# stage: review
# variables:
# GIT_STRATEGY: none
# when: manual
# only:
# - release
# except:
# - tags
# environment:
# name: review/$CI_BUILD_REF_NAME
# action: stop
# script:
# - kubectl version
# - kubectl delete ing -l ref=${CI_ENVIRONMENT_SLUG}
# - kubectl delete all -l ref=${CI_ENVIRONMENT_SLUG}
#deploy_live:
# image:
# name: lachlanevenson/k8s-kubectl:latest
# entrypoint: ["/bin/sh", "-c"]
# stage: deploy
# environment:
# name: live
# url: $AUTO_DEVOPS_DOMAIN
# only:
# - tags
# when: manual
# script:
# - kubectl version
# - sed_files deployment
# - kubectl apply -f kube-deployment.yml
# # - kubectl rollout status -f kube-deployment.yml
# - kubectl get deploy,svc,ing,pod -l app="$(echo ${CI_PROJECT_NAME} | tr "." "-")",ref="${CI_ENVIRONMENT_SLUG}"
.helper_functions: &helper_functions_template |
function registry_login() {