Files
microservice-ci/templates/microservice.yaml
Kirill Andrusyak b2a2f0c18b update pipelines
2023-09-04 18:26:08 +00:00

71 lines
2.3 KiB
YAML

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"
default:
image: dtzar/helm-kubectl:latest
tags:
- docker
services:
- docker:20.10.16-dind
stages:
- build
- deploy
build-dev:
image: docker:20.10.16
stage: build
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
environment:
name: development
url: https://astra-dev.dopcore.com/
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 -n $NAMESPACE | 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-$NAMESPACE deploy --namespace $NAMESPACE
- kubectl rollout restart deploy/$CI_PROJECT_TITLE -n $NAMESPACE
deploy-prod:
stage: deploy
variables:
NAMESPACE: "prod"
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 -n $NAMESPACE | 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-$NAMESPACE deploy --namespace $NAMESPACE
- kubectl rollout restart deploy/$CI_PROJECT_TITLE -n $NAMESPACE
environment:
name: production
url: https://astra.dopcore.com/
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
when: manual