diff --git a/templates/microservice-python.yaml b/templates/microservice-python.yaml index 8fd0d45..5aaccba 100644 --- a/templates/microservice-python.yaml +++ b/templates/microservice-python.yaml @@ -7,7 +7,6 @@ stages: migration-dev: stage: migration - image: dtzar/helm-kubectl:latest tags: - docker only: @@ -15,3 +14,17 @@ migration-dev: script: - sleep 30 - kubectl exec deploy/$CI_PROJECT_TITLE -n $NAMESPACE -- alembic upgrade head + +deploy-prod: + stage: migration + variables: + NAMESPACE: "prod" + script: + - sleep 30 + - kubectl exec deploy/$CI_PROJECT_TITLE -n $NAMESPACE -- alembic upgrade head + environment: + name: production + url: https://astra.dopcore.com/ + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + when: manual diff --git a/templates/microservice.yaml b/templates/microservice.yaml index f981d69..cc367c5 100644 --- a/templates/microservice.yaml +++ b/templates/microservice.yaml @@ -1,5 +1,3 @@ -image: docker:20.10.16 - variables: DOCKER_HOST: tcp://docker:2376 DOCKER_TLS_CERTDIR: "/certs" @@ -8,6 +6,12 @@ variables: DOCKER_DRIVER: overlay2 NAMESPACE: "default" +default: + image: dtzar/helm-kubectl:latest + tags: + - docker + + services: - docker:20.10.16-dind @@ -15,10 +19,9 @@ stages: - build - deploy -build-dev: +build-dev: + image: docker:20.10.16 stage: build - tags: - - docker only: - master script: @@ -29,12 +32,9 @@ build-dev: deploy-dev: stage: deploy - image: dtzar/helm-kubectl:latest environment: name: development url: https://astra-dev.dopcore.com/ - tags: - - docker only: - master script: @@ -47,3 +47,24 @@ deploy-dev: - 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