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: always 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 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 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: on_success 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