-
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathcloudbuild.yaml
More file actions
127 lines (124 loc) · 6.07 KB
/
Copy pathcloudbuild.yaml
File metadata and controls
127 lines (124 loc) · 6.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
steps:
#
# This step is kept as a workaround, generating a .env file that is required by the
# library used with MongoDB. If it is removed, attempting to connect to the database
# throws an error indicating that the URI does not exist in the environment.
#
- name: 'gcr.io/cloud-builders/npm'
id: CreateEnv
args: ['run', 'create-env']
env:
- APP_ENV=${_APP_ENV}
- MONGODB=${_MONGODB}
- MONGODB_BOT=${_MONGODB_BOT}
- DB_CHATTERPAY_NAME=${_DB_CHATTERPAY_NAME}
- DB_BOT_NAME=${_DB_BOT_NAME}
- BOT_API_TOKEN=${_BOT_API_TOKEN}
- BOT_API_URL=${_BOT_API_URL}
- BOT_API_WAPP_ENABLED=${_BOT_API_WAPP_ENABLED}
- BACKEND_API_URL=${_BACKEND_API_URL}
- NODE_PROVIDER_SEPOLIA_URL=${_NODE_PROVIDER_SEPOLIA_URL}
- NODE_PROVIDER_MUMBAI_URL=${_NODE_PROVIDER_MUMBAI_URL}
- NODE_PROVIDER_SCROLL_URL=${_NODE_PROVIDER_SCROLL_URL}
- HANDLE_VERCEL_FREE_PLAN_TIMEOUT=${_HANDLE_VERCEL_FREE_PLAN_TIMEOUT}
- NEXT_PUBLIC_USE_MOCK=${_NEXT_PUBLIC_USE_MOCK}
- API3_ENABLED=${_API3_ENABLED}
- JWT_SECRET=${_JWT_SECRET}
- NEXT_PUBLIC_UI_URL=${_NEXT_PUBLIC_UI_URL}
- NEXT_PUBLIC_ALLOWED_ORIGINS=${_NEXT_PUBLIC_ALLOWED_ORIGINS}
- RECAPTCHA_API_KEY=${_RECAPTCHA_API_KEY}
- NEXT_PUBLIC_RECAPTCHA_SITE_KEY=${_NEXT_PUBLIC_RECAPTCHA_SITE_KEY}
- NEXT_PUBLIC_NFT_IMAGE_REPOSITORY=${_NEXT_PUBLIC_NFT_IMAGE_REPOSITORY}
- NEXT_PUBLIC_NFT_MARKETPLACE_URL=${_NEXT_PUBLIC_NFT_MARKETPLACE_URL}
- NEXT_PUBLIC_EXPLORER_L1_URL=${_NEXT_PUBLIC_EXPLORER_L1_URL}
- NEXT_PUBLIC_EXPLORER_L2_URL=${_NEXT_PUBLIC_EXPLORER_L2_URL}
- NEXT_PUBLIC_EXPLORER_NFT_URL=${_NEXT_PUBLIC_EXPLORER_NFT_URL}
- NEXT_PUBLIC_LAYERSWAP_BASE_URL=${_NEXT_PUBLIC_LAYERSWAP_BASE_URL}
- NEXT_PUBLIC_CHATIZALO_PHONE_NUMBER=${_NEXT_PUBLIC_CHATIZALO_PHONE_NUMBER}
- NEXT_PUBLIC_GA_MEASUREMENT_ID=${_NEXT_PUBLIC_GA_MEASUREMENT_ID}
- NEXT_PUBLIC_MS_CLARITY_ID=${_NEXT_PUBLIC_MS_CLARITY_ID}
- NEXT_PUBLIC_NETWORK=${_NEXT_PUBLIC_NETWORK}
- NEXT_PUBLIC_SECURITY_RECOVERY_QUESTIONS_COUNT=${_NEXT_PUBLIC_SECURITY_RECOVERY_QUESTIONS_COUNT}
- NEXT_PUBLIC_SECURITY_PIN_LENGTH=${_NEXT_PUBLIC_SECURITY_PIN_LENGTH}
#
# Build docker imagen.
# Variables with a prefix '_' are from Cloud Build 'substitution' (declared in the job).
# Variables with a prefix '$$' are from Secret Manager.
#
- name: 'gcr.io/cloud-builders/docker'
id: Build
args: [
'build',
'--no-cache',
'-t',
'$_AR_HOSTNAME/$PROJECT_ID/cloud-run-source-deploy/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA',
'--build-arg', 'APP_ENV=${_APP_ENV}',
'--build-arg', 'MONGODB=${_MONGODB}',
'--build-arg', 'MONGODB_BOT=${_MONGODB_BOT}',
'--build-arg', 'DB_CHATTERPAY_NAME=${_DB_CHATTERPAY_NAME}',
'--build-arg', 'DB_BOT_NAME=${_DB_BOT_NAME}',
'--build-arg', 'RECAPTCHA_API_KEY=${_RECAPTCHA_API_KEY}',
'--build-arg', 'NEXT_PUBLIC_RECAPTCHA_SITE_KEY=${_NEXT_PUBLIC_RECAPTCHA_SITE_KEY}',
'--build-arg', 'NEXT_PUBLIC_NFT_IMAGE_REPOSITORY=${_NEXT_PUBLIC_NFT_IMAGE_REPOSITORY}',
'--build-arg', 'NEXT_PUBLIC_NFT_MARKETPLACE_URL=${_NEXT_PUBLIC_NFT_MARKETPLACE_URL}',
'--build-arg', 'BOT_API_TOKEN=${_BOT_API_TOKEN}',
'--build-arg', 'BOT_API_URL=${_BOT_API_URL}',
'--build-arg', 'BOT_API_WAPP_ENABLED=${_BOT_API_WAPP_ENABLED}',
'--build-arg', 'BACKEND_API_URL=${_BACKEND_API_URL}',
'--build-arg', 'NODE_PROVIDER_SEPOLIA_URL=${_NODE_PROVIDER_SEPOLIA_URL}',
'--build-arg', 'NODE_PROVIDER_MUMBAI_URL=${_NODE_PROVIDER_MUMBAI_URL}',
'--build-arg', 'NODE_PROVIDER_SCROLL_URL=${_NODE_PROVIDER_SCROLL_URL}',
'--build-arg', 'HANDLE_VERCEL_FREE_PLAN_TIMEOUT=${_HANDLE_VERCEL_FREE_PLAN_TIMEOUT}',
'--build-arg', 'NEXT_PUBLIC_USE_MOCK=${_NEXT_PUBLIC_USE_MOCK}',
'--build-arg', 'API3_ENABLED=${_API3_ENABLED}',
'--build-arg', 'JWT_SECRET=${_JWT_SECRET}',
'--build-arg', 'NEXT_PUBLIC_UI_URL=${_NEXT_PUBLIC_UI_URL}',
'--build-arg', 'NEXT_PUBLIC_ALLOWED_ORIGINS=${_NEXT_PUBLIC_ALLOWED_ORIGINS}',
'--build-arg', 'NEXT_PUBLIC_EXPLORER_L1_URL=${_NEXT_PUBLIC_EXPLORER_L1_URL}',
'--build-arg', 'NEXT_PUBLIC_EXPLORER_L2_URL=${_NEXT_PUBLIC_EXPLORER_L2_URL}',
'--build-arg', 'NEXT_PUBLIC_EXPLORER_NFT_URL=${_NEXT_PUBLIC_EXPLORER_NFT_URL}',
'--build-arg', 'NEXT_PUBLIC_LAYERSWAP_BASE_URL=${_NEXT_PUBLIC_LAYERSWAP_BASE_URL}',
'--build-arg', 'NEXT_PUBLIC_CHATIZALO_PHONE_NUMBER=${_NEXT_PUBLIC_CHATIZALO_PHONE_NUMBER}',
'--build-arg', 'NEXT_PUBLIC_GA_MEASUREMENT_ID=${_NEXT_PUBLIC_GA_MEASUREMENT_ID}',
'--build-arg', 'NEXT_PUBLIC_MS_CLARITY_ID=${_NEXT_PUBLIC_MS_CLARITY_ID}',
'--build-arg', 'NEXT_PUBLIC_NETWORK=${_NEXT_PUBLIC_NETWORK}',
'--build-arg', 'NEXT_PUBLIC_SECURITY_RECOVERY_QUESTIONS_COUNT=${_NEXT_PUBLIC_SECURITY_RECOVERY_QUESTIONS_COUNT}',
'--build-arg', 'NEXT_PUBLIC_SECURITY_PIN_LENGTH=${_NEXT_PUBLIC_SECURITY_PIN_LENGTH}',
'.'
]
#
# push the container images to Container Registry
#
- name: 'gcr.io/cloud-builders/docker'
id: Push
args: [
'push',
'$_AR_HOSTNAME/$PROJECT_ID/cloud-run-source-deploy/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA'
]
#
# Deploy container images to Cloud Run
#
- name: 'gcr.io/cloud-builders/gcloud'
id: Deploy
entrypoint: gcloud
args: [
'run',
'deploy',
'$_SERVICE_NAME',
'--platform',
'managed',
'--region',
'$_DEPLOY_REGION',
'--image',
'$_AR_HOSTNAME/$PROJECT_ID/cloud-run-source-deploy/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA',
'--labels',
'managed-by=gcp-cloud-build-deploy-cloud-run,commit-sha=$COMMIT_SHA,gcb-build-id=$BUILD_ID,gcb-trigger-id=$_TRIGGER_ID',
'--quiet',
'--allow-unauthenticated',
'--set-secrets',
'BACKEND_API_TOKEN=${_BACKEND_API_TOKEN_SECRET_NAME}:latest',
]
images:
- $_AR_HOSTNAME/$PROJECT_ID/cloud-run-source-deploy/$REPO_NAME/$_SERVICE_NAME:$COMMIT_SHA
options:
logging: CLOUD_LOGGING_ONLY