osdu-gcp-cloudrun.yml 3.83 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Copyright 2020 Google LLC
# Copyright 2017-2019, Schlumberger
# Copyright 2020 EPAM
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

17
18
19
20
21
22
23
24
# Global Protected Variables:
#
# OSDU_GCP
# OSDU_GCP_DEPLOY_FILE
# OSDU_GCP_SERVICE_ACCOUNT
# OSDU_GCP_INTEGRATION_TESTER
# OSDU_GCP_NO_DATA_ACCESS_TESTER

25
.osdu-gcp-variables:
26
  variables:
27
    #services' urls
Aliaksandr Ramanovich (EPAM)'s avatar
Aliaksandr Ramanovich (EPAM) committed
28
29
30
    OSDU_GCP_STORAGE_URL: https://os-storage-dot-nice-etching-277309.uc.r.appspot.com/api/storage/v2/
    OSDU_GCP_AUTHORIZE_API: https://os-entitlements-gcp-attcrcktoa-uc.a.run.app/entitlements/v1/
    OSDU_GCP_ENTITLEMENTS_URL: https://os-entitlements-gcp-attcrcktoa-uc.a.run.app/entitlements/v1/
31
    OSDU_GCP_LEGAL_HOST_URL: https://os-legal-dot-nice-etching-277309.uc.r.appspot.com/api/legal/v1/
Aliaksandr Ramanovich (EPAM)'s avatar
Aliaksandr Ramanovich (EPAM) committed
32
33
    OSDU_GCP_AIRFLOW_URL: https://c410714dc037b0e02p-tp.appspot.com
    OSDU_GCP_DELIVERY_SERVICE_URL: https://os-file-attcrcktoa-uc.a.run.app
34
    # env parameters
Aliaksandr Ramanovich (EPAM)'s avatar
Aliaksandr Ramanovich (EPAM) committed
35
36
    OSDU_GCP_INTEGRATION_TEST_AUDIENCE: 689762842995-pv217jo3k8j803kk6gqf52qb5amos3a9.apps.googleusercontent.com
    OSDU_GCP_DEPLOY_ENV: dev
37
    OSDU_GCP_DOMAIN: osdu-gcp.go3-nrg.projects.epam.com
Aliaksandr Ramanovich (EPAM)'s avatar
Aliaksandr Ramanovich (EPAM) committed
38
39
40
41
42
43
    OSDU_GCP_TENANT_NAME: osdu
    OSDU_GCP_MY_TENANT_PROJECT: osdu
    OSDU_GCP_MY_TENANT: osdu
    OSDU_GCP_CLOUDRUN_REGION: us-central1
    OSDU_GCP_PROJECT: nice-etching-277309
    OSDU_GCP_VPC_CONNECTOR: osdu-connector
44
45
46
47
48
49
50
51
52
53
    # common integration tests variables
    GOOGLE_AUDIENCE: $OSDU_GCP_INTEGRATION_TEST_AUDIENCE
    DOMAIN: $OSDU_GCP_DOMAIN
    INTEGRATION_TESTER: $OSDU_GCP_INTEGRATION_TESTER
    NO_DATA_ACCESS_TESTER: $OSDU_GCP_NO_DATA_ACCESS_TESTER
    OTHER_RELEVANT_DATA_COUNTRIES: US
    DEFAULT_DATA_PARTITION_ID_TENANT1: $OSDU_GCP_TENANT_NAME
    LEGAL_TAG: osdu-demo-legaltag
    GCLOUD_PROJECT: $OSDU_GCP_PROJECT
    
54

Aliaksandr Ramanovich (EPAM)'s avatar
Aliaksandr Ramanovich (EPAM) committed
55
osdu-gcp-containerize:
Aliaksandr Ramanovich (EPAM)'s avatar
Aliaksandr Ramanovich (EPAM) committed
56
  stage: containerize
57
  needs: ["compile-and-unit-test"]
58
  extends: .osdu-gcp-variables
59
60
61
  image: google/cloud-sdk
  cache: {}
  script:
62
    - gcloud auth activate-service-account --key-file $OSDU_GCP_DEPLOY_FILE
Aliaksandr Ramanovich (EPAM)'s avatar
Aliaksandr Ramanovich (EPAM) committed
63
    - gcloud config set project $OSDU_GCP_PROJECT
64
    - touch .gcloudignore
Aliaksandr Ramanovich (EPAM)'s avatar
Aliaksandr Ramanovich (EPAM) committed
65
    - gcloud builds submit --config provider/$OSDU_GCP_SERVICE-$OSDU_GCP_VENDOR/cloudbuild/cloudbuild.yaml --substitutions=_PROVIDER_NAME=$OSDU_GCP_VENDOR,_SHORT_SHA=$CI_COMMIT_SHORT_SHA,_PORT=$OSDU_GCP_PORT
66
67
68
69
  only:
    variables:
      - $OSDU_GCP == 'true'

70
osdu-gcp-deploy:
71
  image: google/cloud-sdk
72
  needs: ["osdu-gcp-containerize"]
Aliaksandr Ramanovich (EPAM)'s avatar
Aliaksandr Ramanovich (EPAM) committed
73
  stage: deploy
74
  extends: .osdu-gcp-variables
75
76
  cache: {}
  script:
77
    - gcloud auth activate-service-account --key-file $OSDU_GCP_DEPLOY_FILE
Aliaksandr Ramanovich (EPAM)'s avatar
Aliaksandr Ramanovich (EPAM) committed
78
    - gcloud config set project $OSDU_GCP_PROJECT
79
    - gcloud run deploy $OSDU_GCP_APPLICATION_NAME --image gcr.io/$OSDU_GCP_PROJECT/$OSDU_GCP_APPLICATION_NAME/$OSDU_GCP_SERVICE-$OSDU_GCP_VENDOR:$CI_COMMIT_SHORT_SHA --platform managed --region $OSDU_GCP_CLOUDRUN_REGION --allow-unauthenticated --service-account $OSDU_GCP_SERVICE_ACCOUNT --memory 512M --set-env-vars=$OSDU_GCP_ENV_VARS
80
81
  only:
    variables:
82
      - $OSDU_GCP == 'true'
83
84

osdu-gcp-test:
85
  image: maven:3.3.9-jdk-8
86
87
88
89
  extends:
    - .osdu-gcp-variables
  stage: integration
  needs: ["osdu-gcp-deploy"]
90
  allow_failure: true
91
  script:
92
93
    - export GCP_DEPLOY_FILE=$(echo $OSDU_GCP_DEPLOY_FILE)
    - mvn --batch-mode --settings=$CI_PROJECT_DIR/.mvn/community-maven.settings.xml -f testing/pom.xml verify --projects $OSDU_GCP_SERVICE-test-core,$OSDU_GCP_SERVICE-test-gcp
94
95
96
  only:
    variables:
      - $OSDU_GCP == 'true'