Updated CI. Removed helm config.

Signed-off-by: Pavel Kirilin <win10@list.ru>
This commit is contained in:
2021-08-08 14:18:38 +04:00
parent e6305d7ac2
commit 3caf075c13
8 changed files with 52 additions and 159 deletions

View File

@ -5,6 +5,7 @@ stages:
variables:
APP_VERSION: ${CI_COMMIT_REF_SLUG}
DOCKER_AUTH_CONFIG: "{\"auths\":{\"$DOCKER_REGISTRY\":{\"username\":\"$DOCKER_USER\",\"password\":\"$DOCKER_PASSWORD\"}}}"
.test-template:
image: python:3.9-buster
@ -14,7 +15,6 @@ variables:
except:
- tags
before_script:
- echo "${DOCKER_REGISTRY}"
- pip install poetry==1.1.6
- poetry config virtualenvs.create false
- poetry install
@ -56,7 +56,9 @@ image-builder:
- tags
script:
- mkdir -p /kaniko/.docker
- echo "{\"auths\":{\"$DOCKER_REGISTRY\":{\"username\":\"$DOCKER_USER\",\"password\":\"$DOCKER_PASSWORD\"}}}" > /kaniko/.docker/config.json
# Create authentication rule to publish image.
- echo "$DOCKER_AUTH_CONFIG" > /kaniko/.docker/config.json
# Build actual image.
- /kaniko/executor --context .
--dockerfile deploy/Dockerfile
--destination "$IMAGE_NAME:$APP_VERSION"
@ -64,15 +66,26 @@ image-builder:
deploy:
stage: deploy
image: dtzar/helm-kubectl:3.6.3
image: docker.le-memese.com/kubectl:1.22.0
tags:
- kube
only:
- tags
environment:
name: production
kubernetes:
namespace: $NAMESPACE
script:
- export KUBECONFIG=$KUBE_CONF
# Save all lenochka's variables in a file.
- env | grep "^LENOCHKA_" > .deploy-env
- kubectl delete configmap --namespace "$NAMESPACE" "$ENVCONF" || true
- kubectl create configmap --namespace "$NAMESPACE" "$ENVCONF" --from-env-file=.deploy-env
- envsubst < "$HELM_VALUES" > deploy-values.yml
- helm upgrade lenocka deploy/charts/lenocka/ -f deploy-values.yml --namespace "$NAMESPACE"
# Recreate envconfig for pod.
- kubectl delete configmap "$ENVCONF" || true
- kubectl create configmap "$ENVCONF" --from-env-file=.deploy-env
# Create secret for pulling images.
- echo "$DOCKER_AUTH_CONFIG" > .dockerauth.json
- kubectl delete secret "$PULL_SECRET" || true
- kubectl create secret generic "$PULL_SECRET"
--from-file=.dockerconfigjson=.dockerauth.json
--type=kubernetes.io/dockerconfigjson
# Substitute env variables and apply them in kubectl.
- find deploy/kube -name "*.yml" | xargs cat | envsubst | kubectl apply -f -