Awesome
someservice-manifests
Terraform
$ cd terraform/environments/$ENV
$ terraform init
$ terraform show
$ terraform plan
ディレクトリ構成
環境分離パターンで初めて、徐々に環境ごと分離 + module利用パターンへ移行する。
環境変数
1Passwordで下記ファイルをDLしそれぞれの環境下に置く
- Terraform tfvars(someservice-manifests Staging)
- Terraform tfvars(someservice-manifests Production)
ex) ./terraform/environments/staging/terrafrom.tfvars.json
CI/CD
- PR中のブランチへのコミットを検知し、CI(fmt/validation/plan)を実行
- mainブランチへのコミットを検知し、CD(apply)を実行
sequenceDiagram
participant developer
participant repository
participant actions
participant cloud provider
developer->>repository: push (feature)
repository->>repository: PR (feature->main)
repository-->>+actions:
Note right of actions: CI
actions->>-repository: terraform fmt/validation/plan
repository->>repository: merge (feature->main)
repository-->>+actions:
Note right of actions: CD
actions->>-cloud provider: terraform apply
CI/CDではtfaction
を利用
公式ドキュメント