- GCPに登録済み
- GCPにterraform用のサービスアカウント作成済み
- サービスアカウントの鍵(auth.json)をCloudStorageにアップロード済み
- Terraform Cloudに登録済み
※手順 3. の鍵についてはこちらを参照
- build
docker build -t terraform-training \
--build-arg GITHUB_USER_NAME="user.name" \
--build-arg GITHUB_USER_EMAIL="user.email" \
--build-arg GITHUB_USER_TOKEN="github_token" \
--no-cache .
- run
docker run -itd --privileged --rm \
--name terraform-training \
--hostname terraform-training \
terraform-training
- login
docker exec -it terraform-training /bin/bash
- set config
gcloud config configurations create <任意>
gcloud config set core/account <Google Cloudのログインに使ったメアド>
gcloud config set core/project <Google CloudのプロジェクトID>
- auth login
gcloud auth login
gcloud auth application-default login
- auth.json download
gcloud storage ls
gcloud storage cp gs://<BUCKET_NAME>/<OBJECT_NAME> ./auth.json
※詳細についてはこちらを参照
- set config
echo 'export TF_TOKEN_app_terraform_io="<TERRAFORM_TOKEN_VALUE>"' >> ~/.bash_profile
source ~/.bash_profile
詳細についてこちらを参照
- register terraform key(Optional post-deployment option)
gcloud secrets list
printf "<TERRAFORM_TOKEN_VALUE>" | gcloud secrets versions add terraform-api-key --data-file=-
- add README
- githubのトークンとかがセットされてないのでDockerfileを修正
- auth.jsonをバケットから取得する手順を書く
- functions.tfを追加する
- golangコード用のリポジトリを追加する