diff --git a/.gitignore b/.gitignore index c8d0aef..2015f53 100644 --- a/.gitignore +++ b/.gitignore @@ -171,3 +171,11 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ + +# terraform.tfstate files +_*.tfvars +.terraform/ +.terraform.lock.hcl +*.tfstate +*.tfstate.backup +*deploy.env \ No newline at end of file diff --git a/readme/deploy.md b/readme/deploy.md new file mode 100644 index 0000000..0af0ed7 --- /dev/null +++ b/readme/deploy.md @@ -0,0 +1,57 @@ +# デプロイの方法について + +## インストール方法 + +MACの場合 + +```sh +brew tap hashicorp/tap +brew install hashicorp/tap/terraform +# 確認 +terraform -version +``` + + +## 環境について + +* terraform +* google cloud + * Cloud Fucntions + +## ローカル実行する方法 + +ローカルで実行する場合はバックエンドを修正する必要がある +`provider.tf`の次の文をコメントアウトする + +```tf +terraform { +# backend "gcs" {} +} +``` + +```sh +# 初期化を実行する +cd terraform +# Terraformの初期化 +terraform init +# デプロイするコンポーネントを確認する +terraform plan -var-file=dev.tfvars + +# デプロイを実行する +terraform apply \ +-var-file=dev.tfvars \ +-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 +``` + diff --git a/src/main.py b/src/main.py index 9cb9010..7b754ab 100644 --- a/src/main.py +++ b/src/main.py @@ -14,6 +14,7 @@ def main(request: Request): # Headerを取得する ua = request.headers.get("User-Agent", "Unknown") logger.info(f"User-Agent: {ua}") + logger.debug(f"Request Method: {request.method}") if request.method == "GET": logger.info("Processing GET request") diff --git a/terraform/function.tf b/terraform/function.tf index fc147fa..5b65554 100644 --- a/terraform/function.tf +++ b/terraform/function.tf @@ -19,6 +19,10 @@ resource "google_cloudfunctions2_function" "function" { object = google_storage_bucket_object.source.name } } + + environment_variables = { + ENV = var.env_name + } } service_config { @@ -28,6 +32,7 @@ resource "google_cloudfunctions2_function" "function" { available_memory = var.available_memory service_account_email = google_service_account.account.email + } } diff --git a/terraform/storage.tf b/terraform/storage.tf index 7a6d063..ee762ce 100644 --- a/terraform/storage.tf +++ b/terraform/storage.tf @@ -1,5 +1,5 @@ resource "google_storage_bucket" "bucket" { - provider = google-beta + provider = google name = "${var.component_name}-gcf-source" # Every bucket name must be globally unique location = var.region uniform_bucket_level_access = true