77 lines
1.7 KiB
Markdown

# デプロイの方法について
## インストール方法
MACの場合
```sh
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
# 確認
terraform -version
```
## 環境について
* terraform
* google cloud
* Cloud Run Job
## 実行する方法
```sh
# 初期化を実行する
cd terraform
# Terraformの初期化
terraform init
# アーティファクトやバケットについては先に生成する
terraform apply \
-var-file=_dev.tfvars \
-auto-approve \
-target="google_artifact_registry_repository.repo"
# DockerファイルをビルドしてGARにプッシュする場合
cd ../
# 1. Artifact Registryへの認証設定(初回のみ実行)
source deploy.env
gcloud auth configure-docker "${AR_REGION}-docker.pkg.dev"
# arm64
source deploy.env
gcloud builds submit --tag "${IMAGE_URI}" .
echo "${IMAGE_URI}"
# デプロイするコンポーネントを確認する
cd terraform
terraform plan \
-var-file=_dev.tfvars \
-var="hash_suffix=${HASH_SUFFIX}"
# デプロイを実行する
terraform apply \
-var-file=_dev.tfvars \
-var="hash_suffix=${HASH_SUFFIX}" \
-auto-approve
```
ローカルでビルドで試す場合
```sh
# デフォルトでビルドする場合
docker build -t cloud-run-job-base .
# arm64でビルドしたい場合
docker buildx build -platform linux/amd64,linux/arm64 -t cloud-run-job-base .
# Dockerを実行する(1回だけ実行してコンテナインスタンスを削除する場合)
docker run --rm cloud-run-job-base:latest
```
### CI/CDでデプロイを実行する場合
**Github(Gitea) Acrtionsで実行する場合**
**Cloud Buildで実行する場合**
### Big Quderyにデータが取得できた場合をトリガーにしてJOBを実行する方法