概要

Terraform で作成された以下の AWS 上のリソース群

利用する側の情報

../リリースプロセス詳解

Terraform による管理

  • ルートディレクトリは apps/app/docker/codebuild

管理ポリシー

  • ステート(tfstate) は Terraform Cloud で管理する
  • Terraform Cloud はステートの管理のみに利用し、リソースの変更が必要な場合は AWS リソースにアクセス可能な各開発者がローカルPCから apply する
    • そのため Terraform Cloud へのアクセスは必須ではないが、もし必要であれば weseek organization への招待を、既に加入しているメンバーに依頼する

開発環境セットアップ手順

  1. Terraform 公式ドキュメント external_link を参考に Terraform CLI をセットアップする
    • Win であれば WSL 上でのセットアップ(つまり Linux 向けマニュアル通りのセットアップ)を勧める
    • terraform コマンドが動作するところまでで OK
  2. AWS 公式ドキュメント external_link を参考に、AWS CLI をセットアップする
    • aws コマンドが動作するところまでで OK
  3. 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