variables: NAMESPACE: "default" default: image: dtzar/helm-kubectl:latest tags: - docker stages: - build - deploy - production build-dev: stage: build image: quay.io/buildah/stable:v1.31.0 variables: STORAGE_DRIVER: vfs BUILDAH_FORMAT: docker BUILDAH_ISOLATION: chroot only: - master script: - buildah build -t docker-registry.dopcore.com/$CI_PROJECT_PATH . - echo "$CI_REGISTRY_PASSWORD" | buildah login docker-registry.dopcore.com -u "$CI_REGISTRY_USER" --password-stdin - buildah 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: production 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