From 09723ddf937d34250078616c4bcdf5858d9f9f58 Mon Sep 17 00:00:00 2001 From: Maarten de Waard <maarten@greenhost.nl> Date: Wed, 4 May 2022 15:19:54 +0200 Subject: [PATCH] Install Nextcloud releases in different namespaces in CI --- .gitlab-ci.yml | 8 +++++--- fully-delete-helmrelease.sh | 19 ++++++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 04d3c5dc..3f797b10 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,7 +24,8 @@ include: stage: install-helm-chart script: - cd ${CHART_DIR:-"."} - - ./fully-delete-helmrelease.sh "nc$CI_MERGE_REQUEST_IID" + - ./fully-delete-helmrelease.sh "nc$CI_MERGE_REQUEST_IID" "nc$CI_MERGE_REQUEST_IID" + - kubectl delete namespace "nc$CI_MERGE_REQUEST_IID" extends: - .use_kubernetes - .chart_changes_rules @@ -74,7 +75,8 @@ install-helmrelease: # Make sure TLS certificate secrets for different MRs do not clash - sed -i "s/files-cert/files-cert-nc$CI_MERGE_REQUEST_IID/" values-ci.yaml - sed -i "s/office-cert/office-cert-nc$CI_MERGE_REQUEST_IID/" values-ci.yaml - - helm install --wait "nc$CI_MERGE_REQUEST_IID" . -f values-ci.yaml + - kubectl create namespace "nc$CI_MERGE_REQUEST_IID" + - helm install -n nc$CI_MERGE_REQUEST_IID --wait "nc$CI_MERGE_REQUEST_IID" . -f values-ci.yaml environment: name: helmrelease/nc$CI_MERGE_REQUEST_IID url: https://files-nc$CI_MERGE_REQUEST_IID.gitlab.stackspin.net @@ -88,7 +90,7 @@ test-helm-chart: stage: test-helm-chart script: - cd ${CHART_DIR:-"."} - - helm test --logs "nc$CI_MERGE_REQUEST_IID" + - helm test -n nc$CI_MERGE_REQUEST_IID --logs "nc$CI_MERGE_REQUEST_IID" extends: - .use_kubernetes - .chart_changes_rules diff --git a/fully-delete-helmrelease.sh b/fully-delete-helmrelease.sh index 59010db4..9fd36c24 100755 --- a/fully-delete-helmrelease.sh +++ b/fully-delete-helmrelease.sh @@ -1,18 +1,19 @@ #! /usr/bin/env bash -if [ -z "$1" ]; then - echo "Usage: ./fully-delete-chart RELEASE_NAME" +if [ -z "$2" ]; then + echo "Usage: ./fully-delete-chart NAMESPACE RELEASE_NAME" exit 1 else - release="$1" + namespace="$1" + release="$2" fi -kubectl delete pod "$release-onlyoffice-documentserver-taiko-test" +kubectl delete pod -n "$namespace" "$release-onlyoffice-documentserver-taiko-test" -kubectl delete job "$release-setup-apps" +kubectl delete job -n "$namespace" "$release-setup-apps" # This command can fail, but that is not a problem -kubectl delete pvc \ +kubectl delete pvc -n "$namespace" \ "$release-nextcloud-nextcloud" \ "data-$release-rabbitmq-0" \ "redis-data-$release-redis-master-0" \ @@ -20,13 +21,13 @@ kubectl delete pvc \ "redis-data-$release-redis-slave-1" \ "data-$release-mariadb-0" -helm delete --wait "$release" +helm delete -n "$namespace" --wait "$release" -output=$(kubectl get pod -l "app.kubernetes.io/instance=$release") +output=$(kubectl get pod -n "$namespace" -l "app.kubernetes.io/instance=$release") until [ "$output" == "" ] do echo "waiting for pods to be deleted, pods still running:" echo "$output" sleep 5 - output=$(kubectl get pod -l "app.kubernetes.io/instance=$release") + output=$(kubectl get pod -n "$namespace" -l "app.kubernetes.io/instance=$release") done -- GitLab