From 359efdce9028360065718d6b2cf6d2a275d88f8e Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Thu, 28 Sep 2023 16:39:44 +1300 Subject: [PATCH 01/17] Fetching QA_GITLAB_REVISION like in review --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8f3aafd81c..35f2c9747b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -374,6 +374,8 @@ stop_review_eks: - echo "export QA_ENVIRONMENT_URL=gitlab.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - echo "export GITLAB_ROOT_DOMAIN=$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - echo "export S3_ENDPOINT=https://minio.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + - kubectl wait pods -n $NAMESPACE -l app=toolbox,release=$RELEASE_NAME --for condition=Ready --timeout=60s + - echo "export QA_GITLAB_REVISION=`kubectl exec -i $(kubectl get pods -lrelease=$RELEASE_NAME,app=toolbox -o custom-columns=":metadata.name") -c toolbox -- cat /srv/gitlab/REVISION`" >> "${VARIABLES_FILE}" artifacts: paths: - variables -- GitLab From 453090370086101ce521b367ac2033f761b74182 Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Fri, 29 Sep 2023 12:21:34 +1300 Subject: [PATCH 02/17] Moving scripts to common job --- .gitlab-ci.yml | 41 +++++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 35f2c9747b..503814db71 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -238,17 +238,18 @@ lint_package: HOST_SUFFIX: "$CI_ENVIRONMENT_SLUG" DOMAIN: "-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN" VARIABLES_FILE: "variables/${CI_JOB_NAME}" - extends: .source_autodevops + extends: + - .run_script script: - - mkdir -p $(dirname "${VARIABLES_FILE}") - - set_context - - check_kube_domain - - kubectl version - - ensure_namespace - - create_secret - - deploy - - wait_for_deploy - - restart_toolbox + # - mkdir -p $(dirname "${VARIABLES_FILE}") + # - set_context + # - check_kube_domain + # - kubectl version + # - ensure_namespace + # - create_secret + # - deploy + # - wait_for_deploy + # - restart_toolbox - echo "export QA_ENVIRONMENT_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - echo "export GITLAB_ROOT_DOMAIN=$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - echo "export GITLAB_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" @@ -358,6 +359,26 @@ stop_review_eks: # or `canary` deploys, or you simply want more control over when you deploy # to production, uncomment the `when: manual` line in the `production` job. +.run_script: + extends: .source_autodevops + script: + - mkdir -p $(dirname "${VARIABLES_FILE}") + - set_context + - check_kube_domain + - > + if [ "$CI_JOB_NAME" == ".review_template" ]; then + kubectl version + fi + - ensure_namespace + - create_secret + - deploy + - wait_for_deploy + - > + if [ "$CI_JOB_NAME" == ".stable" ]; then + check_domain_ip + fi + - restart_toolbox + .stable: stage: stable extends: .source_autodevops -- GitLab From 74d9a59fe30981b7ae0774bba89a934f067b3ccc Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Mon, 2 Oct 2023 12:47:08 +1300 Subject: [PATCH 03/17] Created a seperate base job --- .gitlab-ci.yml | 56 +++++++++++++++++++------------------------------- 1 file changed, 21 insertions(+), 35 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 503814db71..abbaa89feb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -54,6 +54,8 @@ variables: # STRICT_VERSIONS is used in RSpecs to ensure exact version match for tools like "helm" and "kubectl" STRICT_VERSIONS: "true" KUBE_CRD_SCHEMA_URL: "https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/v3/apis__apiextensions.k8s.io__v1_openapi.json" + REVIEW_JOB_REGEX_PATTERN: "review_(gke[0-9]{3}|eks)" + STABLE_JOB_REGEX_PATTERN: "stable_(gke[0-9]{3}|eks)" HELM_DEFAULT_SETTINGS: | certmanager-issuer: email: support@gitlab.com @@ -240,23 +242,6 @@ lint_package: VARIABLES_FILE: "variables/${CI_JOB_NAME}" extends: - .run_script - script: - # - mkdir -p $(dirname "${VARIABLES_FILE}") - # - set_context - # - check_kube_domain - # - kubectl version - # - ensure_namespace - # - create_secret - # - deploy - # - wait_for_deploy - # - restart_toolbox - - echo "export QA_ENVIRONMENT_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - - echo "export GITLAB_ROOT_DOMAIN=$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - - echo "export GITLAB_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - - echo "export REGISTRY_URL=registry-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - - echo "export S3_ENDPOINT=https://minio-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - - kubectl wait pods -n $NAMESPACE -l app=toolbox,release=$RELEASE_NAME --for condition=Ready --timeout=60s - - echo "export QA_GITLAB_REVISION=`kubectl exec -i $(kubectl get pods -lrelease=$RELEASE_NAME,app=toolbox -o custom-columns=":metadata.name") -c toolbox -- cat /srv/gitlab/REVISION`" >> "${VARIABLES_FILE}" artifacts: when: always paths: @@ -361,42 +346,43 @@ stop_review_eks: .run_script: extends: .source_autodevops + variables: + JOB_REGEX_PATTERN script: + - echo $CI_ENVIRONMENT_SLUG + - echo $CI_JOB_NAME - mkdir -p $(dirname "${VARIABLES_FILE}") - set_context - check_kube_domain - > - if [ "$CI_JOB_NAME" == ".review_template" ]; then + if [[ $CI_JOB_NAME =~ $REVIEW_JOB_REGEX_PATTERN ]]; then kubectl version fi - ensure_namespace - create_secret - deploy - wait_for_deploy + - echo $CI_JOB_NAME - > - if [ "$CI_JOB_NAME" == ".stable" ]; then + if [[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]]; then check_domain_ip fi - restart_toolbox + # Setting the following env vars according the the job .stable or .review_template calling this base job + - echo "export QA_ENVIRONMENT_URL=$([[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]] && echo "gitlab" || echo "gitlab-${HOST_SUFFIX}").$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + - echo "export GITLAB_ROOT_DOMAIN=$([[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]] && echo "$KUBE_INGRESS_BASE_DOMAIN" || echo "$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN")" >> "${VARIABLES_FILE}" + - > + if [[ $CI_JOB_NAME =~ $REVIEW_JOB_REGEX_PATTERN ]]; then + echo "export GITLAB_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + echo "export REGISTRY_URL=registry-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + fi + - echo "export S3_ENDPOINT=https://$([[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]] && echo "minio" || echo "minio-${HOST_SUFFIX}").$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + - kubectl wait pods -n $NAMESPACE -l app=toolbox,release=$RELEASE_NAME --for condition=Ready --timeout=60s + - echo "export QA_GITLAB_REVISION=`kubectl exec -i $(kubectl get pods -lrelease=$RELEASE_NAME,app=toolbox -o custom-columns=":metadata.name") -c toolbox -- cat /srv/gitlab/REVISION`" >> "${VARIABLES_FILE}" .stable: stage: stable - extends: .source_autodevops - script: - - mkdir -p $(dirname "${VARIABLES_FILE}") - - set_context - - check_kube_domain - - ensure_namespace - - create_secret - - deploy - - wait_for_deploy - - check_domain_ip - - restart_toolbox - - echo "export QA_ENVIRONMENT_URL=gitlab.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - - echo "export GITLAB_ROOT_DOMAIN=$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - - echo "export S3_ENDPOINT=https://minio.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - - kubectl wait pods -n $NAMESPACE -l app=toolbox,release=$RELEASE_NAME --for condition=Ready --timeout=60s - - echo "export QA_GITLAB_REVISION=`kubectl exec -i $(kubectl get pods -lrelease=$RELEASE_NAME,app=toolbox -o custom-columns=":metadata.name") -c toolbox -- cat /srv/gitlab/REVISION`" >> "${VARIABLES_FILE}" + extends: .run_script artifacts: paths: - variables -- GitLab From 57b31cb6fa1a91d2db189a10b8a23fe66a26e4cf Mon Sep 17 00:00:00 2001 From: Vishal Patel Date: Tue, 3 Oct 2023 19:59:35 +0000 Subject: [PATCH 04/17] Removing debugging command --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index abbaa89feb..dd181925f3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -362,7 +362,6 @@ stop_review_eks: - create_secret - deploy - wait_for_deploy - - echo $CI_JOB_NAME - > if [[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]]; then check_domain_ip -- GitLab From 14dd8f724a06833f270430b9c2c66f61d0356fed Mon Sep 17 00:00:00 2001 From: Vishal Patel Date: Tue, 3 Oct 2023 20:01:02 +0000 Subject: [PATCH 05/17] Removing debugging commands --- .gitlab-ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dd181925f3..7f7db3f6b7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -349,8 +349,6 @@ stop_review_eks: variables: JOB_REGEX_PATTERN script: - - echo $CI_ENVIRONMENT_SLUG - - echo $CI_JOB_NAME - mkdir -p $(dirname "${VARIABLES_FILE}") - set_context - check_kube_domain -- GitLab From 2769d27fde83f4d3d876a5d65645659e9cd7d108 Mon Sep 17 00:00:00 2001 From: Vishal Patel Date: Sun, 8 Oct 2023 21:32:31 +0000 Subject: [PATCH 06/17] Removing unwanted JOB_REGEX_PATTERN --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7f7db3f6b7..ccb521353d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -347,7 +347,6 @@ stop_review_eks: .run_script: extends: .source_autodevops variables: - JOB_REGEX_PATTERN script: - mkdir -p $(dirname "${VARIABLES_FILE}") - set_context -- GitLab From 9a862c5e45829ae8d66eba2641c646638fb2463c Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Mon, 2 Oct 2023 10:32:01 +1300 Subject: [PATCH 07/17] Added command for debugging --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ccb521353d..87876fa7bd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -348,6 +348,7 @@ stop_review_eks: extends: .source_autodevops variables: script: + - echo $CI_JOB_NAME - mkdir -p $(dirname "${VARIABLES_FILE}") - set_context - check_kube_domain @@ -359,6 +360,7 @@ stop_review_eks: - create_secret - deploy - wait_for_deploy + - echo $CI_JOB_NAME - > if [[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]]; then check_domain_ip -- GitLab From f4787d35c2e0697d380e1579541166431fdfec07 Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Mon, 2 Oct 2023 10:41:40 +1300 Subject: [PATCH 08/17] Adding some debugging --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 87876fa7bd..e9eaa0057b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -348,6 +348,7 @@ stop_review_eks: extends: .source_autodevops variables: script: + - echo $CI_ENVIRONMENT_SLUG - echo $CI_JOB_NAME - mkdir -p $(dirname "${VARIABLES_FILE}") - set_context -- GitLab From afdad8f7a82243913020a43efd289cc7107f12df Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Mon, 16 Oct 2023 16:23:17 +1300 Subject: [PATCH 09/17] Removed echos debg --- .gitlab-ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e9eaa0057b..ccb521353d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -348,8 +348,6 @@ stop_review_eks: extends: .source_autodevops variables: script: - - echo $CI_ENVIRONMENT_SLUG - - echo $CI_JOB_NAME - mkdir -p $(dirname "${VARIABLES_FILE}") - set_context - check_kube_domain @@ -361,7 +359,6 @@ stop_review_eks: - create_secret - deploy - wait_for_deploy - - echo $CI_JOB_NAME - > if [[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]]; then check_domain_ip -- GitLab From a5433614802b8d965b53157e79f5d3ecdae6a5e4 Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Mon, 16 Oct 2023 16:36:33 +1300 Subject: [PATCH 10/17] Moving to common jobs --- .gitlab-ci.yml | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ccb521353d..53629ca634 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -234,14 +234,39 @@ lint_package: cronJob: apiVersion: batch/v1 +.set_up_varfile_and_kubecontext: + script: + - mkdir -p $(dirname "${VARIABLES_FILE}") + - set_context + - check_kube_domain + +.set_up_namespace_secret_and_deploy: + script: + - ensure_namespace + - create_secret + - deploy + - wait_for_deploy + + .review_template: stage: review variables: HOST_SUFFIX: "$CI_ENVIRONMENT_SLUG" DOMAIN: "-$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN" VARIABLES_FILE: "variables/${CI_JOB_NAME}" - extends: - - .run_script + extends: .source_autodevops + script: + - !reference [.set_up_varfile_and_kubecontext:script] + - kubectl version + - !reference [.set_up_namespace_secret_and_deploy:script] + - restart_toolbox + - echo "export QA_ENVIRONMENT_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + - echo "export GITLAB_ROOT_DOMAIN=$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + - echo "export GITLAB_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + - echo "export REGISTRY_URL=registry-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + - echo "export S3_ENDPOINT=https://minio-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + - kubectl wait pods -n $NAMESPACE -l app=toolbox,release=$RELEASE_NAME --for condition=Ready --timeout=60s + - echo "export QA_GITLAB_REVISION=`kubectl exec -i $(kubectl get pods -lrelease=$RELEASE_NAME,app=toolbox -o custom-columns=":metadata.name") -c toolbox -- cat /srv/gitlab/REVISION`" >> "${VARIABLES_FILE}" artifacts: when: always paths: @@ -344,13 +369,13 @@ stop_review_eks: # or `canary` deploys, or you simply want more control over when you deploy # to production, uncomment the `when: manual` line in the `production` job. + + .run_script: extends: .source_autodevops variables: script: - - mkdir -p $(dirname "${VARIABLES_FILE}") - - set_context - - check_kube_domain + - !reference [.set_up_varfile_and_kubecontext:script] - > if [[ $CI_JOB_NAME =~ $REVIEW_JOB_REGEX_PATTERN ]]; then kubectl version -- GitLab From e7ddff1815e5764c912238dae50fa515add01a56 Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Mon, 16 Oct 2023 16:39:44 +1300 Subject: [PATCH 11/17] Moving to common jobs --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 53629ca634..f250847d09 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -234,13 +234,13 @@ lint_package: cronJob: apiVersion: batch/v1 -.set_up_varfile_and_kubecontext: +.set_up_varfile_and_kubecontext: &set_up_varfile_and_kubecontext script: - mkdir -p $(dirname "${VARIABLES_FILE}") - set_context - check_kube_domain -.set_up_namespace_secret_and_deploy: +.set_up_namespace_secret_and_deploy: &set_up_namespace_secret_and_deploy script: - ensure_namespace - create_secret -- GitLab From 54d04df0724093d3724d62f7781541e75b92084c Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Mon, 16 Oct 2023 16:41:25 +1300 Subject: [PATCH 12/17] Moving to common jobs --- .gitlab-ci.yml | 58 +++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f250847d09..27bacd18d5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -371,35 +371,35 @@ stop_review_eks: -.run_script: - extends: .source_autodevops - variables: - script: - - !reference [.set_up_varfile_and_kubecontext:script] - - > - if [[ $CI_JOB_NAME =~ $REVIEW_JOB_REGEX_PATTERN ]]; then - kubectl version - fi - - ensure_namespace - - create_secret - - deploy - - wait_for_deploy - - > - if [[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]]; then - check_domain_ip - fi - - restart_toolbox - # Setting the following env vars according the the job .stable or .review_template calling this base job - - echo "export QA_ENVIRONMENT_URL=$([[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]] && echo "gitlab" || echo "gitlab-${HOST_SUFFIX}").$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - - echo "export GITLAB_ROOT_DOMAIN=$([[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]] && echo "$KUBE_INGRESS_BASE_DOMAIN" || echo "$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN")" >> "${VARIABLES_FILE}" - - > - if [[ $CI_JOB_NAME =~ $REVIEW_JOB_REGEX_PATTERN ]]; then - echo "export GITLAB_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - echo "export REGISTRY_URL=registry-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - fi - - echo "export S3_ENDPOINT=https://$([[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]] && echo "minio" || echo "minio-${HOST_SUFFIX}").$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - - kubectl wait pods -n $NAMESPACE -l app=toolbox,release=$RELEASE_NAME --for condition=Ready --timeout=60s - - echo "export QA_GITLAB_REVISION=`kubectl exec -i $(kubectl get pods -lrelease=$RELEASE_NAME,app=toolbox -o custom-columns=":metadata.name") -c toolbox -- cat /srv/gitlab/REVISION`" >> "${VARIABLES_FILE}" +# .run_script: +# extends: .source_autodevops +# variables: +# script: +# - !reference [.set_up_varfile_and_kubecontext:script] +# - > +# if [[ $CI_JOB_NAME =~ $REVIEW_JOB_REGEX_PATTERN ]]; then +# kubectl version +# fi +# - ensure_namespace +# - create_secret +# - deploy +# - wait_for_deploy +# - > +# if [[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]]; then +# check_domain_ip +# fi +# - restart_toolbox +# # Setting the following env vars according the the job .stable or .review_template calling this base job +# - echo "export QA_ENVIRONMENT_URL=$([[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]] && echo "gitlab" || echo "gitlab-${HOST_SUFFIX}").$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" +# - echo "export GITLAB_ROOT_DOMAIN=$([[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]] && echo "$KUBE_INGRESS_BASE_DOMAIN" || echo "$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN")" >> "${VARIABLES_FILE}" +# - > +# if [[ $CI_JOB_NAME =~ $REVIEW_JOB_REGEX_PATTERN ]]; then +# echo "export GITLAB_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" +# echo "export REGISTRY_URL=registry-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" +# fi +# - echo "export S3_ENDPOINT=https://$([[ $CI_JOB_NAME =~ $STABLE_JOB_REGEX_PATTERN ]] && echo "minio" || echo "minio-${HOST_SUFFIX}").$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" +# - kubectl wait pods -n $NAMESPACE -l app=toolbox,release=$RELEASE_NAME --for condition=Ready --timeout=60s +# - echo "export QA_GITLAB_REVISION=`kubectl exec -i $(kubectl get pods -lrelease=$RELEASE_NAME,app=toolbox -o custom-columns=":metadata.name") -c toolbox -- cat /srv/gitlab/REVISION`" >> "${VARIABLES_FILE}" .stable: stage: stable -- GitLab From cf5f650ba110cdc9c7ebbcad65dcaa5cd8297873 Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Mon, 16 Oct 2023 16:43:11 +1300 Subject: [PATCH 13/17] Moving to common jobs --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 27bacd18d5..ced6e9e4f2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -403,7 +403,7 @@ stop_review_eks: .stable: stage: stable - extends: .run_script + extends: .source_autodevops artifacts: paths: - variables -- GitLab From a908d31475e48647e7a7aed3f627db9991497f4c Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Tue, 17 Oct 2023 10:17:50 +1300 Subject: [PATCH 14/17] Using yaml anchors --- .gitlab-ci.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ced6e9e4f2..a89e6cba9f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -256,9 +256,9 @@ lint_package: VARIABLES_FILE: "variables/${CI_JOB_NAME}" extends: .source_autodevops script: - - !reference [.set_up_varfile_and_kubecontext:script] + - *set_up_varfile_and_kubecontext - kubectl version - - !reference [.set_up_namespace_secret_and_deploy:script] + - *set_up_namespace_secret_and_deploy - restart_toolbox - echo "export QA_ENVIRONMENT_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - echo "export GITLAB_ROOT_DOMAIN=$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" @@ -404,6 +404,19 @@ stop_review_eks: .stable: stage: stable extends: .source_autodevops + script: + - mkdir -p $(dirname "${VARIABLES_FILE}") + - set_context + - check_kube_domain + - ensure_namespace + - create_secret + - deploy + - wait_for_deploy + - check_domain_ip + - restart_toolbox + - echo "export QA_ENVIRONMENT_URL=gitlab.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + - echo "export GITLAB_ROOT_DOMAIN=$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" + - echo "export S3_ENDPOINT=https://minio.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" artifacts: paths: - variables -- GitLab From 87661a357c134a642c1b9dac973add77f3ed0b8b Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Tue, 17 Oct 2023 10:21:47 +1300 Subject: [PATCH 15/17] Adding quotest aroun anchors --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a89e6cba9f..521e24d617 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -256,9 +256,9 @@ lint_package: VARIABLES_FILE: "variables/${CI_JOB_NAME}" extends: .source_autodevops script: - - *set_up_varfile_and_kubecontext + - "*set_up_varfile_and_kubecontext" - kubectl version - - *set_up_namespace_secret_and_deploy + - "*set_up_namespace_secret_and_deploy" - restart_toolbox - echo "export QA_ENVIRONMENT_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - echo "export GITLAB_ROOT_DOMAIN=$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" -- GitLab From 7c2a7f90073e84aaa5c9d1eb6c7eeebe69e3b39a Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Tue, 17 Oct 2023 10:27:47 +1300 Subject: [PATCH 16/17] Removing script section from anchors --- .gitlab-ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 521e24d617..bfd8e21288 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -235,13 +235,11 @@ lint_package: apiVersion: batch/v1 .set_up_varfile_and_kubecontext: &set_up_varfile_and_kubecontext - script: - mkdir -p $(dirname "${VARIABLES_FILE}") - set_context - check_kube_domain .set_up_namespace_secret_and_deploy: &set_up_namespace_secret_and_deploy - script: - ensure_namespace - create_secret - deploy @@ -256,9 +254,9 @@ lint_package: VARIABLES_FILE: "variables/${CI_JOB_NAME}" extends: .source_autodevops script: - - "*set_up_varfile_and_kubecontext" + - *set_up_varfile_and_kubecontext - kubectl version - - "*set_up_namespace_secret_and_deploy" + - *set_up_namespace_secret_and_deploy - restart_toolbox - echo "export QA_ENVIRONMENT_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - echo "export GITLAB_ROOT_DOMAIN=$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" -- GitLab From 29496da41847f7e397b79412dbeba7044360fec6 Mon Sep 17 00:00:00 2001 From: "vishal.s.patel" Date: Tue, 17 Oct 2023 14:55:42 +1300 Subject: [PATCH 17/17] Checking another solution --- .gitlab-ci.yml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bfd8e21288..5a55d2c59b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -234,17 +234,30 @@ lint_package: cronJob: apiVersion: batch/v1 -.set_up_varfile_and_kubecontext: &set_up_varfile_and_kubecontext +.set_up_varfile_and_kubecontext: + script: - mkdir -p $(dirname "${VARIABLES_FILE}") - set_context - check_kube_domain -.set_up_namespace_secret_and_deploy: &set_up_namespace_secret_and_deploy +.set_up_namespace_secret_and_deploy: + script: - ensure_namespace - create_secret - deploy - wait_for_deploy +# .set_up_varfile_and_kubecontext: &set_up_varfile_and_kubecontext +# - mkdir -p $(dirname "${VARIABLES_FILE}") +# - set_context +# - check_kube_domain + +# .set_up_namespace_secret_and_deploy: &set_up_namespace_secret_and_deploy +# - ensure_namespace +# - create_secret +# - deploy +# - wait_for_deploy + .review_template: stage: review @@ -254,9 +267,11 @@ lint_package: VARIABLES_FILE: "variables/${CI_JOB_NAME}" extends: .source_autodevops script: - - *set_up_varfile_and_kubecontext + # - *set_up_varfile_and_kubecontext + - !reference [.set_up_varfile_and_kubecontext, script] - kubectl version - - *set_up_namespace_secret_and_deploy + - !reference [.set_up_namespace_secret_and_deploy, script] + # - *set_up_namespace_secret_and_deploy - restart_toolbox - echo "export QA_ENVIRONMENT_URL=gitlab-$HOST_SUFFIX.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" - echo "export GITLAB_ROOT_DOMAIN=$CI_ENVIRONMENT_SLUG.$KUBE_INGRESS_BASE_DOMAIN" >> "${VARIABLES_FILE}" -- GitLab