概要
Terraform で作成された以下の AWS 上のリソース群
- AWS CodeBuild external_link の
growi-official-image-builder
- buildspec はプロジェクト側で
apps/app/docker/codebuild/buildspec.yml
を指定
- buildspec はプロジェクト側で
- OIDC 関連リソース
利用する側の情報
Terraform による管理
- ルートディレクトリは
apps/app/docker/codebuild
管理ポリシー
- ステート(tfstate) は Terraform Cloud で管理する
- Terraform Cloud はステートの管理のみに利用し、リソースの変更が必要な場合は AWS リソースにアクセス可能な各開発者がローカルPCから apply する
- そのため Terraform Cloud へのアクセスは必須ではないが、もし必要であれば weseek organization への招待を、既に加入しているメンバーに依頼する
開発環境セットアップ手順
- Terraform 公式ドキュメント external_link を参考に Terraform CLI をセットアップする
- Win であれば WSL 上でのセットアップ(つまり Linux 向けマニュアル通りのセットアップ)を勧める
terraform
コマンドが動作するところまでで OK
- AWS 公式ドキュメント external_link を参考に、AWS CLI をセットアップする
aws
コマンドが動作するところまでで OK
- AWS 公式の Named profiles external_link のドキュメントを参考に、
weseek
という名前がついた profile を作成する- 動作確認
$ aws codebuild list-projects --profile weseek { "projects": [ "growi-official-image-builder" ] }
- 動作確認
適用手順
cd apps/app/docker/codebuild terraform init terraform apply
- Secrets Manager は入れ物だけを作るので、リソースを再作成した場合は
buildspec.yml
が要求する secret 値を入れる必要がある
破棄手順
cd apps/app/docker/codebuild terraform destroy