-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy_cloud_function.sh
executable file
·28 lines (23 loc) · 1.1 KB
/
deploy_cloud_function.sh
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
#!/bin/bash
# gcs_setting.json から設定を読み込む
CONFIG_FILE="secret/gcs_setting.json"
PROJECT_ID=$(jq -r '.project_id' $CONFIG_FILE)
REGION=$(jq -r '.region' $CONFIG_FILE)
BUCKET_NAME=$(jq -r '.bucket_name' $CONFIG_FILE)
# Dockerイメージのビルド (マルチアーキテクチャ対応)
docker buildx create --use
docker buildx build --platform linux/amd64,linux/arm64 -t gcr.io/$PROJECT_ID/lightgbm-trainer . --push
# Cloud Run Job の作成
gcloud beta run jobs create lightgbm-training-job \
--image gcr.io/$PROJECT_ID/lightgbm-trainer \
--region $REGION \
--set-env-vars GCP_PROJECT=$PROJECT_ID,GCP_LOCATION=$REGION,CLOUD_RUN_SERVICE=lightgbm-trainer
# Cloud Run Job の実行
gcloud beta run jobs execute lightgbm-training-job --region $REGION
# Cloud Function のデプロイ
gcloud functions deploy triggerTrainingPipeline \
--runtime python39 \
--trigger-resource $BUCKET_NAME \
--trigger-event google.storage.object.finalize \
--entry-point trigger_training_pipeline \
--set-env-vars GCP_PROJECT=$PROJECT_ID,GCP_LOCATION=$REGION,CLOUD_RUN_SERVICE=lightgbm-trainer