45 lines
1.2 KiB
YAML
45 lines
1.2 KiB
YAML
image: docker:20.10.16
|
|
|
|
variables:
|
|
DOCKER_HOST: tcp://docker:2376
|
|
DOCKER_TLS_CERTDIR: "/certs"
|
|
DOCKER_TLS_VERIFY: 1
|
|
DOCKER_CERT_PATH: "$DOCKER_TLS_CERTDIR/client"
|
|
|
|
services:
|
|
- docker:20.10.16-dind
|
|
|
|
stages:
|
|
- build
|
|
- deploy
|
|
|
|
build-job:
|
|
stage: build
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
script:
|
|
- docker info
|
|
- docker build -t docker-registry.dopcore.com/$CI_PROJECT_PATH .
|
|
- echo "$CI_REGISTRY_PASSWORD" | docker login docker-registry.dopcore.com -u "$CI_REGISTRY_USER" --password-stdin
|
|
- docker push docker-registry.dopcore.com/$CI_PROJECT_PATH
|
|
|
|
deploy-job:
|
|
stage: deploy
|
|
image: dtzar/helm-kubectl:latest
|
|
tags:
|
|
- docker
|
|
only:
|
|
- master
|
|
script:
|
|
- export $(xargs < deploy/.env)
|
|
- envsubst < deploy/values.template.yaml > deploy/values.yaml
|
|
- "echo 'envs: [' >> deploy/values.yaml"
|
|
- kubectl get svc -o=custom-columns=NAME:.metadata.name,PORT:.spec.ports[0].port | grep astra | awk '{ print "{\"name\":\""toupper($1)"\",\"value\":\"http://"$1".default.svc.cluster.local:"$2"\"}," }' >> deploy/values.yaml
|
|
- "echo ']' >> deploy/values.yaml"
|
|
- cat values.yaml
|
|
- kubectl version
|
|
- helm upgrade --install $CI_PROJECT_TITLE deploy
|
|
- kubectl rollout restart deploy/$CI_PROJECT_TITLE
|