diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0db629b1d466ec2765ce9d96076916827dea764c..b492e4f873b255457a658a80732673ae19a548ff 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,10 @@ include: # global # gcp - - local: "devops/osdu/cloud-providers/gcp.yml" + - project: "osdu/platform/ci-cd-pipelines" + file: + - "cloud-providers/osdu-gcp-variables.yml" + - "cloud-providers/osdu-gcp-dev2-variables.yml" # common gcp pipeline - local: "devops/osdu/cloud-providers/gcp-common-pipeline.yml" diff --git a/app/filemetadata/.gitlab-ci.yml b/app/filemetadata/.gitlab-ci.yml index 5e89251d7e70c3712d8240497bfb674c731d8ad7..c9512b1e986545ed1ce0d54ca5ccf15a113fca4b 100644 --- a/app/filemetadata/.gitlab-ci.yml +++ b/app/filemetadata/.gitlab-ci.yml @@ -11,4 +11,7 @@ include: - local: "app/filemetadata/devops/osdu/cloud-providers/azure.yml" # gcp - - local: "app/filemetadata/devops/osdu/cloud-providers/gcp.yml" \ No newline at end of file + - local: "app/filemetadata/devops/osdu/cloud-providers/gcp.yml" + - local: "app/filemetadata/devops/osdu/cloud-providers/gcp-dev2.yml" + rules: + - if: '$OSDU_GCP == "true" && $DEV2 == "true"' \ No newline at end of file diff --git a/app/filemetadata/devops/osdu/cloud-providers/gcp-dev2.yml b/app/filemetadata/devops/osdu/cloud-providers/gcp-dev2.yml new file mode 100644 index 0000000000000000000000000000000000000000..af4ba559ec17e52bebaa7d7c004ebf9b3aa12937 --- /dev/null +++ b/app/filemetadata/devops/osdu/cloud-providers/gcp-dev2.yml @@ -0,0 +1,70 @@ +.seismic_filemetadata_var: + variables: + OSDU_GCP_SERVICE: seismic-store-filemetadata + OSDU_GCP_HELM_CONFIG_SERVICE: seismic-store-filemetadata-configmap + OSDU_GCP_HELM_DEPLOYMENT_SERVICE: seismic-store-filemetadata-deploy + OSDU_GCP_HELM_CONFIG_DIR: "app/filemetadata/devops/gcp/configmap" + OSDU_GCP_HELM_DEPLOYMENT_DIR: "app/filemetadata/devops/gcp/deploy" + OSDU_GCP_HELM_CONFIG_SERVICE_VARS_DEV2: "--set data.domain=$DOMAIN --set data.app_environment_identifier=$OSDU_GCP_TENANT --set data.des_redis_instance_address=redis-cache-ddms --set data.locksmap_redis_instance_address=redis-cache-ddms" + OSDU_GCP_HELM_DEPLOYMENT_SERVICE_VARS_DEV2: "--set data.image=$CI_REGISTRY_IMAGE/osdu-gcp-$OSDU_GCP_SERVICE:$CI_COMMIT_SHORT_SHA" + +filemetadata-osdu-gcp-dev2-deploy-configmap: + stage: deploy + image: gcr.io/google.com/cloudsdktool/cloud-sdk + extends: + - .osdu-gcp-dev2-variables + - .seismic_filemetadata_var + script: + - !reference [.common_dev2, script] + - > + helm upgrade $OSDU_GCP_HELM_CONFIG_SERVICE $OSDU_GCP_HELM_CONFIG_DIR + --install + --create-namespace + --namespace=$OSDU_GCP_HELM_NAMESPACE + --wait + --history-max=3 + $OSDU_GCP_HELM_CONFIG_SERVICE_VARS_DEV2 + rules: + - if: '$OSDU_GCP == "true" && $CI_COMMIT_BRANCH =~ /^release/' + when: on_success + - if: '$OSDU_GCP == "true" && $CI_COMMIT_TAG' + when: on_success + # The variable DEV2="true" should be specified manually in GitLab before running a pipeline to test this job against a protected branch + - if: '$OSDU_GCP == "true" && $DEV2 == "true"' + when: on_success + - if: '$OSDU_GCP == "true"' + when: on_success + +filemetadata-osdu-gcp-dev2-deployment: + stage: deploy + image: gcr.io/google.com/cloudsdktool/cloud-sdk + extends: + - .osdu-gcp-dev2-variables + - .seismic_filemetadata_var + needs: ["filemetadata-osdu-gcp-dev2-deploy-configmap"] + script: + - !reference [.common_dev2, script] + - > + helm upgrade $OSDU_GCP_HELM_DEPLOYMENT_SERVICE $OSDU_GCP_HELM_DEPLOYMENT_DIR + --install + --create-namespace + --namespace=$OSDU_GCP_HELM_NAMESPACE + --wait + --history-max=3 + $OSDU_GCP_HELM_DEPLOYMENT_SERVICE_VARS_DEV2 + - echo ----- Verify Deployment ----- + - kubectl rollout status deployment.v1.apps/$OSDU_GCP_SERVICE -n $OSDU_GCP_HELM_NAMESPACE --timeout=900s + - POD=$(kubectl get pod --sort-by=.metadata.creationTimestamp -n $OSDU_GCP_HELM_NAMESPACE | grep $OSDU_GCP_SERVICE | tail -1 | awk '{print $1}') + - STATUS=$(kubectl wait -n $OSDU_GCP_HELM_NAMESPACE --for=condition=Ready pod/$POD --timeout=300s) + - echo $STATUS + - if [[ "$STATUS" != *"met"* ]]; then echo "POD didn't start correctly" ; exit 1 ; fi + rules: + - if: '$OSDU_GCP == "true" && $CI_COMMIT_BRANCH =~ /^release/' + when: on_success + - if: '$OSDU_GCP == "true" && $CI_COMMIT_TAG' + when: on_success + # The variable DEV2="true" should be specified manually in GitLab before running a pipeline to test this job against a protected branch + - if: '$OSDU_GCP == "true" && $DEV2 == "true"' + when: on_success + - if: '$OSDU_GCP == "true"' + when: on_success diff --git a/app/sdms/.gitlab-ci.yml b/app/sdms/.gitlab-ci.yml index a2c18fd68b36e9fa4f54da2cf81d3c621c12187a..591dcd1356c794f4a1be010f7d6182ca56b08f99 100644 --- a/app/sdms/.gitlab-ci.yml +++ b/app/sdms/.gitlab-ci.yml @@ -17,7 +17,7 @@ include: # containerize # osdu - - project: "app/sdms/devops/osdu/containerize/osdu.yml" + - local: "app/sdms/devops/osdu/containerize/osdu.yml" # deploy # azure @@ -28,6 +28,10 @@ include: # gcp - local: "app/sdms/devops/osdu/cloud-providers/gcp.yml" + - local: "app/sdms/devops/osdu/cloud-providers/gcp-dev2.yml" + rules: + - if: '$OSDU_GCP == "true" && $DEV2 == "true"' + # ibm - local: "app/sdms/devops/osdu/cloud-providers/ibm.yml" diff --git a/app/sdms/devops/osdu/cloud-providers/gcp-dev2.yml b/app/sdms/devops/osdu/cloud-providers/gcp-dev2.yml new file mode 100644 index 0000000000000000000000000000000000000000..62ebdae0880e5ad07e71e84d5c119e8693c72526 --- /dev/null +++ b/app/sdms/devops/osdu/cloud-providers/gcp-dev2.yml @@ -0,0 +1,76 @@ +.seismic_sdms_var: + variables: + GCP_SDMS_PREFIX: /api/seismic-store/v3 + OSDU_GCP_SERVICE: seismic-store + OSDU_GCP_HELM_CONFIG_SERVICE: seismic-store-configmap + OSDU_GCP_HELM_DEPLOYMENT_SERVICE: seismic-store-deploy + OSDU_GCP_HELM_CONFIG_DIR: "app/sdms/devops/gcp/configmap" + OSDU_GCP_HELM_DEPLOYMENT_DIR: "app/sdms/devops/gcp/deploy" + OSDU_GCP_HELM_CONFIG_SERVICE_VARS_DEV2: "--set data.domain=$DOMAIN --set data.app_environment_identifier=$OSDU_GCP_TENANT --set data.des_redis_instance_address=redis-cache-ddms --set data.locksmap_redis_instance_address=redis-cache-ddms" + OSDU_GCP_HELM_DEPLOYMENT_SERVICE_VARS_DEV2: "--set data.image=$CI_REGISTRY_IMAGE/osdu-gcp-$OSDU_GCP_SERVICE:$CI_COMMIT_SHORT_SHA --set data.serviceAccountName=$OSDU_GCP_SERVICE-k8s" + + +sdms-osdu-gcp-dev2-deploy-configmap: + stage: deploy + image: gcr.io/google.com/cloudsdktool/cloud-sdk + extends: + - .osdu-gcp-dev2-variables + - .seismic_sdms_var + before_script: + - sed -i 's|#{SDMS_PREFIX}#|'$GCP_SDMS_PREFIX'|' ${OSDU_GCP_HELM_CONFIG_DIR}/values.yaml + script: + - !reference [.common_dev2, script] + - > + helm upgrade $OSDU_GCP_HELM_CONFIG_SERVICE $OSDU_GCP_HELM_CONFIG_DIR + --install + --create-namespace + --namespace=$OSDU_GCP_HELM_NAMESPACE + --wait + --history-max=3 + $OSDU_GCP_HELM_CONFIG_SERVICE_VARS_DEV2 + rules: + - if: '$OSDU_GCP == "true" && $CI_COMMIT_BRANCH =~ /^release/' + when: on_success + - if: '$OSDU_GCP == "true" && $CI_COMMIT_TAG' + when: on_success + # The variable DEV2="true" should be specified manually in GitLab before running a pipeline to test this job against a protected branch + - if: '$OSDU_GCP == "true" && $DEV2 == "true"' + when: on_success + - if: '$OSDU_GCP == "true"' + when: on_success + +sdms-osdu-gcp-dev2-deployment: + stage: deploy + image: gcr.io/google.com/cloudsdktool/cloud-sdk + extends: + - .osdu-gcp-dev2-variables + - .seismic_sdms_var + needs: ["sdms-osdu-gcp-dev2-deploy-configmap"] + before_script: + - sed -i 's|#{SDMS_PREFIX}#|'$GCP_SDMS_PREFIX'|' ${OSDU_GCP_HELM_DEPLOYMENT_DIR}/values.yaml + script: + - !reference [.common_dev2, script] + - > + helm upgrade $OSDU_GCP_HELM_DEPLOYMENT_SERVICE $OSDU_GCP_HELM_DEPLOYMENT_DIR + --install + --create-namespace + --namespace=$OSDU_GCP_HELM_NAMESPACE + --wait + --history-max=3 + $OSDU_GCP_HELM_DEPLOYMENT_SERVICE_VARS_DEV2 + - echo ----- Verify Deployment ----- + - kubectl rollout status deployment.v1.apps/$OSDU_GCP_SERVICE -n $OSDU_GCP_HELM_NAMESPACE --timeout=900s + - POD=$(kubectl get pod --sort-by=.metadata.creationTimestamp -n $OSDU_GCP_HELM_NAMESPACE | grep $OSDU_GCP_SERVICE | tail -1 | awk '{print $1}') + - STATUS=$(kubectl wait -n $OSDU_GCP_HELM_NAMESPACE --for=condition=Ready pod/$POD --timeout=300s) + - echo $STATUS + - if [[ "$STATUS" != *"met"* ]]; then echo "POD didn't start correctly" ; exit 1 ; fi + rules: + - if: '$OSDU_GCP == "true" && $CI_COMMIT_BRANCH =~ /^release/' + when: on_success + - if: '$OSDU_GCP == "true" && $CI_COMMIT_TAG' + when: on_success + # The variable DEV2="true" should be specified manually in GitLab before running a pipeline to test this job against a protected branch + - if: '$OSDU_GCP == "true" && $DEV2 == "true"' + when: on_success + - if: '$OSDU_GCP == "true"' + when: on_success diff --git a/devops/osdu/cloud-providers/gcp.yml b/devops/osdu/cloud-providers/gcp.yml deleted file mode 100644 index dcb3930ee35c0cea919e6355ca15c55907bdad1e..0000000000000000000000000000000000000000 --- a/devops/osdu/cloud-providers/gcp.yml +++ /dev/null @@ -1,4 +0,0 @@ -include: - # pipeline logic - - project: "osdu/platform/ci-cd-pipelines" - file: "cloud-providers/osdu-gcp-variables.yml"