Files
unbound-site/.gitlab-ci.yml
T

48 lines
1.1 KiB
YAML

stages:
- build
- deploy-prod
variables:
DOCKER_HOST: tcp://docker:2375/
image: registry.gitlab.com/sparetimecoder/build-tools
build:
stage: build
image: docker
services:
- docker:dind
script:
- docker version
- docker build --cache-from $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:latest .
- docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
- docker push $CI_REGISTRY_IMAGE:latest
.deploy: &deploy_template
before_script:
- mkdir -p ~/.kube
- echo ${KUBECONFIG_CONTENT} | base64 -d > ~/.kube/config
- kubectl config get-contexts
- |
cat <<EOF > .buildtools
declare -A valid_environments
valid_environments=(
["staging"]="--context k8s.unbound.se --namespace staging"
["prod"]="--context k8s.unbound.se --namespace default"
)
EOF
deploy-to-prod:
<<: *deploy_template
stage: deploy-prod
when: on_success
script:
- echo Deploy Angus to PROD.
- deploy prod
environment:
name: prod
only:
- master