50 lines
1.4 KiB
YAML
50 lines
1.4 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"
|
|
DOCKER_DRIVER: overlay2
|
|
NAMESPACE: "default"
|
|
|
|
services:
|
|
- docker:20.10.16-dind
|
|
|
|
stages:
|
|
- build
|
|
- deploy
|
|
|
|
build-dev:
|
|
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-dev:
|
|
stage: deploy
|
|
image: dtzar/helm-kubectl:latest
|
|
environment:
|
|
name: development
|
|
url: https://astra-dev.dopcore.com/
|
|
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 deploy/values.yaml
|
|
- kubectl version
|
|
- helm upgrade --install $CI_PROJECT_TITLE deploy --namespace $NAMESPACE
|
|
- kubectl rollout restart deploy/$CI_PROJECT_TITLE
|