|
14 | 14 | # See the License for the specific language governing permissions and |
15 | 15 | # limitations under the License. |
16 | 16 | # |
17 | | -CONTAINER_REGISTRY=cloud-run-applications |
18 | | -REGISTRY_LOCATION=us-central1 |
| 17 | +ARTIFACT_REPOSITORY=cloud-run-applications |
| 18 | +JOB_NAME=job-metrics-export |
19 | 19 |
|
20 | | -if [[ -z "${GOOGLE_CLOUD_PROJECT}" ]]; then |
21 | | - echo "GOOGLE_CLOUD_PROJECT environment variable not set" |
22 | | - exit 1 |
23 | | -fi |
24 | | - |
25 | | -if [[ -z "${GOOGLE_APPLICATION_CREDENTIALS}" ]]; then |
26 | | - echo "GOOGLE_APPLICATION_CREDENTIALS environment variable not set" |
27 | | - exit 1 |
28 | | -fi |
29 | | - |
30 | | -if [[ -z "${GOOGLE_CLOUD_RUN_REGION}" ]]; then |
31 | | - echo "GOOGLE_CLOUD_RUN_REGION environment variable not set" |
32 | | - exit 1 |
33 | | -fi |
| 20 | +# Verify necessary environment variables are set |
| 21 | +echo "${GOOGLE_CLOUD_PROJECT:?${UNSET_WARNING}}" |
| 22 | +echo "${GOOGLE_APPLICATION_CREDENTIALS:?${UNSET_WARNING}}" |
| 23 | +echo "${GOOGLE_CLOUD_RUN_REGION:?${UNSET_WARNING}}" |
34 | 24 |
|
35 | 25 | echo "ENVIRONMENT VARIABLES VERIFIED" |
36 | 26 |
|
37 | | -echo "CREATING CLOUD ARTIFACT REPOSITORY" |
38 | | -gcloud artifacts repositories create ${CONTAINER_REGISTRY} --repository-format=docker --location=${REGISTRY_LOCATION} --description="Sample applications to run on Google Cloud Run" |
39 | | -echo "CREATED ${CONTAINER_REGISTRY} in ${REGISTRY_LOCATION}" |
| 27 | +# Safety check to verify if repository already exists. |
| 28 | +if gcloud artifacts repositories describe ${ARTIFACT_REPOSITORY} \ |
| 29 | + --location="${GOOGLE_CLOUD_RUN_REGION}" |
| 30 | +then |
| 31 | + echo "Repository ${ARTIFACT_REPOSITORY} already exists." |
| 32 | +else |
| 33 | + echo "CREATING CLOUD ARTIFACT REPOSITORY" |
| 34 | + gcloud artifacts repositories create ${ARTIFACT_REPOSITORY} --repository-format=docker --location=${GOOGLE_CLOUD_RUN_REGION} --description="Sample applications to run on Google Cloud Run" |
| 35 | + echo "CREATED ${ARTIFACT_REPOSITORY} in ${GOOGLE_CLOUD_RUN_REGION}" |
| 36 | +fi |
40 | 37 |
|
41 | 38 | echo "BUILDING SAMPLE APP IMAGE" |
42 | | -gradle clean jib --image "${REGISTRY_LOCATION}-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/${CONTAINER_REGISTRY}/metrics-export-java" |
43 | | - |
44 | | -echo "CREATING A CLOUD RUN JOB TO RUN THE CONTAINER" |
45 | | -gcloud run jobs create job-metrics-export \ |
46 | | - --image "${REGISTRY_LOCATION}-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/${CONTAINER_REGISTRY}/metrics-export-java" \ |
47 | | - --max-retries 5 \ |
48 | | - --region ${GOOGLE_CLOUD_RUN_REGION} \ |
49 | | - --project="${GOOGLE_CLOUD_PROJECT}" |
| 39 | +gradle clean jib --image "${GOOGLE_CLOUD_RUN_REGION}-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/${ARTIFACT_REPOSITORY}/metrics-export-java" |
| 40 | + |
| 41 | +# Safety check to verify if the job already exists |
| 42 | +if gcloud run jobs describe ${JOB_NAME} --region="${GOOGLE_CLOUD_RUN_REGION}" |
| 43 | +then |
| 44 | + echo "Job ${JOB_NAME} already exists" |
| 45 | +else |
| 46 | + echo "CREATING A CLOUD RUN JOB TO RUN THE CONTAINER" |
| 47 | + gcloud run jobs create job-metrics-export \ |
| 48 | + --image="${GOOGLE_CLOUD_RUN_REGION}-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/${ARTIFACT_REPOSITORY}/metrics-export-java" \ |
| 49 | + --max-retries=5 \ |
| 50 | + --region="${GOOGLE_CLOUD_RUN_REGION}" \ |
| 51 | + --project="${GOOGLE_CLOUD_PROJECT}" |
| 52 | +fi |
50 | 53 |
|
51 | 54 | echo "SETTING CLOUD RUN JOB REGION" |
52 | 55 | gcloud config set run/region "${GOOGLE_CLOUD_RUN_REGION}" |
|
0 commit comments