stages: - deploy_ocf_staging - delete_ocf_staging - deploy_ocf_dev - delete_ocf_dev variables: NAMESPACE_DEV: "ocf-dev-$CI_PROJECT_PATH_SLUG" NAMESPACE_STAGING: "ocf-staging" DOMAIN_STAGING: staging.int DOMAIN_DEV: developer.int DOMAIN_PROD: prod.int CI_JOB_TOKEN: $CI_JOB_TOKEN VAULT_HOSTNAME: $VAULT_HOSTNAME VAULT_PORT: $VAULT_PORT VAULT_ACCESS_TOKEN: $VAULT_ACCESS_TOKEN .main_common: &main_common only: - merge_requests except: variables: # - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "main" - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "staging" tags: - shell .staging_common: &staging_common only: - merge_requests except: variables: - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != "staging" tags: - shell .dev_common: &dev_common tags: - shell deploy_ocf_staging: stage: deploy_ocf_staging needs: - staging_build_and_push <<: *staging_common environment: name: review/staging url: https://$NAMESPACE_STAGING.$DOMAIN_STAGING on_stop: delete_ocf_staging auto_stop_in: 3 day # rules: # - if: $CI_COMMIT_BRANCH == "main" # when: never # - if: $CI_COMMIT_BRANCH == "staging" script: # - echo "### git clone OCF repo ###" # - git clone https://oauth2:${CI_JOB_TOKEN}@labs.etsi.org/rep/ocf/capif.git # - echo "### install helm###" # - curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 # - chmod 700 get_helm.sh # - sudo ./get_helm.sh - whoami - helm version - kubectl version --output=yaml - echo "### setting kubeconfig###" - whoami - kubectl cluster-info - yq --version - ls -rtt helm/capif - cat helm/capif/Chart.yaml - yq e -i '.version = "$$CI_COMMIT_REF_SLUG"' helm/capif/Chart.yaml - yq e -i '.appVersion = "$$CI_COMMIT_REF_SLUG"' helm/capif/Chart.yaml - cat helm/capif/Chart.yaml - echo "### download dependencies###" - helm dependency build helm/capif - echo "### updating capif###" # - helm uninstall -n $NAMESPACE_STAGING ocf-staging --kubeconfig ~/cluster.kubeconfig || true # - helm upgrade --install -n $NAMESPACE_STAGING ocf helm/capif/ \ # --set nginx.nginx.env.capifHostname=capif.$DOMAIN_STAGING \ # --set nginx.nginx.env.registerHostname=register.$DOMAIN_STAGING \ # --set monitoring.prometheus.ingress.hosts[0].host=prometheus.$DOMAIN_PROD \ # --set monitoring.prometheus.ingress.hosts[0].paths[0].path=/ \ # --set monitoring.prometheus.ingress.hosts[0].paths[0].pathType=Prefix \ # --set monitoring.prometheus.enable="" \ # --set monitoring.grafana.ingress.hosts[0].host="grafana.$DOMAIN_PROD" \ # --set monitoring.grafana.ingress.hosts[0].paths[0].path="/" \ # --set monitoring.grafana.ingress.hosts[0].paths[0].pathType="Prefix" \ # --set backOffice.frontend.env.grafanaUrl=http://grafana.$DOMAIN_PROD \ # --set parametersVault.env.vaultHostname=$VAULT_HOSTNAME \ # --set parametersVault.env.vaultPort=$VAULT_PORT \ # --set parametersVault.env.vaultAccessToken=$VAULT_ACCESS_TOKEN \ # --wait --timeout=10m --atomic \ # --create-namespace delete_ocf_staging: stage: delete_ocf_staging <<: *staging_common script: - echo "### deleting environment $NAMESPACE_STAGING###" # - helm uninstall -n $NAMESPACE_STAGING ocf-staging when: manual environment: name: review/staging action: stop ## dev ### deploy_ocf_dev: stage: deploy_ocf_dev needs: - dev_build_and_push <<: *dev_common environment: name: review/$CI_COMMIT_REF_SLUG url: https://$NAMESPACE_DEV.$DOMAIN_DEV on_stop: delete_ocf_dev auto_stop_in: 3 day # rules: # - if: $CI_COMMIT_BRANCH == "main" # when: never # - if: $CI_COMMIT_BRANCH == "staging" # when: never # - if: $CI_COMMIT_BRANCH script: - helm version - kubectl version --output=yaml - echo "### setting kubeconfig###" - kubectl cluster-info - yq --version - cat helm/capif/Chart.yaml - yq e -i '.version = "$$CI_COMMIT_REF_SLUG"' helm/capif/Chart.yaml - yq e -i '.appVersion = "$$CI_COMMIT_REF_SLUG"' helm/capif/Chart.yaml - cat helm/capif/Chart.yaml - echo "### download dependencies###" - helm dependency build helm/capif # - echo "### updating capif###" # - helm uninstall -n $NAMESPACE_DEV ocf-dev --kubeconfig ~/cluster.kubeconfig || true # - helm upgrade --install -n $NAMESPACE_DEV ocf-developer helm/capif/ \ # --set nginx.nginx.env.capifHostname=capif-CI_PROJECT_PATH_SLUG.$DOMAIN_DEV \ # --set nginx.nginx.env.registerHostname=register-CI_PROJECT_PATH_SLUG.$DOMAIN_DEV # --set monitoring.prometheus.enable="" \ # --set monitoring.grafana.ingress.hosts[0].host="grafana.$DOMAIN_PROD" \ # --set monitoring.grafana.ingress.hosts[0].paths[0].path="/" \ # --set monitoring.grafana.ingress.hosts[0].paths[0].pathType="Prefix" \ # --set parametersVault.env.vaultHostname=$VAULT_HOSTNAME \ # --set parametersVault.env.vaultPort=$VAULT_PORT \ # --set parametersVault.env.vaultAccessToken=$VAULT_ACCESS_TOKEN \ # --wait --timeout=10m \ # --create-NAMESPACE_STAGING --atomic delete_ocf_dev: stage: delete_ocf_dev <<: *staging_common script: - echo "### deleting environment $NAMESPACE_DEV###" # - helm uninstall -n $NAMESPACE_DEV ocf-dev when: manual environment: name: review/$CI_COMMIT_REF_SLUG action: stop