Files
button/.gitlab-ci.yml
2020-10-12 17:23:07 -04:00

54 lines
1.5 KiB
YAML

variables:
CI_PROJECT_DIR: "."
CI_REGISTRY_IMAGE: hub.ducoterra.net/ducoterra/button
DEPLOY: button
stages:
- build
- test
- deploy
build:
only:
variables:
- $CI_COMMIT_TAG
stage: build
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
script:
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
test:
stage: test
variables:
POSTGRES_PASSWORD: postgres
only:
variables:
- $CI_COMMIT_TAG
services:
- name: postgres:12
alias: postgres
image:
name: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
entrypoint: [""]
script:
- python manage.py test
deploy:
stage: deploy
only:
variables:
- $CI_COMMIT_TAG
image:
name: debian:10
entrypoint: [""]
script:
- apt -qq update >> /dev/null && apt -qq install -y curl gettext >> /dev/null
- curl -o /usr/bin/kubectl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
- chmod +x /usr/bin/kubectl
- curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
- helm upgrade --install $DEPLOY ./helm --set image=$CI_REGISTRY_IMAGE --set tag=$CI_COMMIT_TAG
- sleep 10
- POD=$(kubectl get pods --selector=app=$DEPLOY --output=jsonpath='{.items[*].metadata.name}')
- kubectl exec $POD -- python manage.py migrate