Files
pezkuwi-telemetry/.gitlab-ci.yml
T

89 lines
3.4 KiB
YAML

variables:
CONTAINER_REGISTRY: "docker.io/parity"
BACKEND_CONTAINER_REPO: "substrate-telemetry-backend"
FRONTEND_CONTAINER_REPO: "substrate-telemetry-frontend"
KUBE_NAMESPACE: "substrate-telemetry"
BACKEND_IMAGE_FULL_NAME: "${CONTAINER_REGISTRY}/${BACKEND_CONTAINER_REPO}:${CI_COMMIT_SHORT_SHA}"
FRONTEND_IMAGE_FULL_NAME: "${CONTAINER_REGISTRY}/${FRONTEND_CONTAINER_REPO}:${CI_COMMIT_SHORT_SHA}"
stages:
- dockerize
- staging
#.delete_deployment: &delete_deployment
# - helm uninstall -n "$KUBE_NAMESPACE" "$KUBE_NAMESPACE"
.dockerize: &dockerize
stage: dockerize
image: quay.io/buildah/stable
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
# when: manual # uncomment this line if we want to make this step a manual process
tags:
- kubernetes-parity-build
.deploy-k8s: &deploy-k8s
image: paritytech/kubetools:3.5.3
script:
- echo "Deploying using image $BACKEND_IMAGE_FULL_NAME"
- echo "Using Helm `helm version --short`"
- export KUBERNETES_VERSION_TAG="$CI_PIPELINE_ID"
- |-
sed -i "s/version:.*/version: $KUBERNETES_VERSION_TAG/" ./helm/Chart.yaml
- |-
sed -i "s/appVersion:.*/appVersion: $KUBERNETES_VERSION_TAG/" ./helm/Chart.yaml
# validate the chart
- helm --debug template
--create-namespace
--namespace $KUBE_NAMESPACE
--set image.backend.repository="${CONTAINER_REGISTRY}/${BACKEND_CONTAINER_REPO}"
--set image.backend.tag="${CI_COMMIT_SHORT_SHA}"
--set image.frontend.repository="${CONTAINER_REGISTRY}/${FRONTEND_CONTAINER_REPO}"
--set image.frontend.tag="${CI_COMMIT_SHORT_SHA}"
$KUBE_NAMESPACE ./helm/
# install the chart into the relevant cluster
- helm --debug upgrade
--install
--atomic
--timeout 120s
--create-namespace
--namespace $KUBE_NAMESPACE
--set image.backend.repository="${CONTAINER_REGISTRY}/${BACKEND_CONTAINER_REPO}"
--set image.backend.tag="${CI_COMMIT_SHORT_SHA}"
--set image.frontend.repository="${CONTAINER_REGISTRY}/${FRONTEND_CONTAINER_REPO}"
--set image.frontend.tag="${CI_COMMIT_SHORT_SHA}"
$KUBE_NAMESPACE ./helm/
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
# when: manual # uncomment this line if we want to make this step a manual process
tags:
- kubernetes-parity-build
dockerize-backend:
<<: *dockerize
script:
- echo "Building image $BACKEND_IMAGE_FULL_NAME"
- buildah bud
--format=docker
--tag "$BACKEND_IMAGE_FULL_NAME" ./backend/
- echo ${Docker_Hub_Pass_Parity} |
buildah login --username ${Docker_Hub_User_Parity} --password-stdin docker.io
- buildah push --format=v2s2 "$BACKEND_IMAGE_FULL_NAME"
dockerize-frontend:
<<: *dockerize
script:
- echo "Building image $FRONTEND_IMAGE_FULL_NAME"
- buildah bud
--format=docker
--tag "$FRONTEND_IMAGE_FULL_NAME" ./frontend/
- echo ${Docker_Hub_Pass_Parity} |
buildah login --username ${Docker_Hub_User_Parity} --password-stdin docker.io
- buildah push --format=v2s2 "$FRONTEND_IMAGE_FULL_NAME"
deploy-parity-stg:
stage: staging
<<: *deploy-k8s
environment:
name: parity-stg