TerraformでCodePipeline - PollForSourceChangesの注意(2)

TerraformでCodePipeline作成時のオプション、PollForSourceChangesの注意点を深堀り。 ...

May 2, 2022

TerraformでCodePipeline - 要追加作業

TerraformでCodePipeline作成時、追加で必要な作業がある。全然意味わかってないけど、とにかくやるものらしい。 ...

April 6, 2022

TerraformでCodePipeline - PollForSourceChangesの注意

TerraformでCodePipeline作成する時のオプション"PollForSourceChanges"の注意点。 ...

April 4, 2022

AWS CodeDeployでVPCエンドポイント使用時の注意

AWS CodeDeployでVPCエンドポイントを使用する場合は一手間必要なのでその辺のネタを。 ...

February 4, 2022

AWS CodeDeploy備忘録

簡単そうとなめてかかると罠にはまりがちなAWS CodeDeployについて、いくつか覚書。 ...

January 29, 2022

Terraform loop処理の応用編(3) - Event rule

過去記事Terraform loop処理の応用編(2)で、AWS Code兄弟のリソースをTerraformのloop処理で作成した。それとは別に、CodePipelineのトリガーをEventBridgeルールにしたかったので追加処理を書いた。パイプラインの数だけ対応するルールを作成するため、これもloop処理で書く。Code兄弟の分も含めて全て同じtfファイルにまとめてもよいが、ここでは分割している。 以下tfコード本体に、ルールとターゲットを作成する処理を書く。 event_rule.tf ######################################## # EventBridge rule ######################################## resource "aws_cloudwatch_event_rule" "pln-rule" { for_each = var.events_param_list name = lookup(each.value, "name") description = "Start the pipeline when detect CodeCommit repository state change." event_pattern = <<-EOT { "source": ["aws.codecommit"], "detail-type": ["CodeCommit Repository State Change"], "resources": ["arn:aws:codecommit:ap-northeast-1:012345678910:${lookup(each.value, "repo_name")}"], "detail": { "event": ["referenceCreated", "referenceUpdated"], "referenceType": ["branch"], "referenceName" : ["master"] } } EOT } ######################################## # EventBridge target ######################################## resource "aws_cloudwatch_event_target" "pln-rule" { for_each = var....

December 11, 2021

Terraform loop処理の応用編(2) - CI/CD

前回投稿Terraform loop処理の応用編 の続き。CodeDeployを作成するTerraformコードに、CodeCommit, CodePipelineを追加して通して作ってみる。 cicd.tf #################################### # CodeCommit #################################### resource "aws_codecommit_repository" "codecommit_repos" { for_each = var.codecommit_param_list repository_name = lookup(each.value, "repository_name") description = lookup(each.value, "description") } #################################### # CodeDeploy Application #################################### resource "aws_codedeploy_app" "codedeploy" { for_each = var.deploy_param_list name = lookup(each.value, "name") compute_platform = "Server" } #################################### # CodeDeploy Deployment Group #################################### resource "aws_codedeploy_deployment_group" "codedeploy_grp" { for_each = var.deploy_param_list app_name = lookup(each.value, "name") deployment_group_name = lookup(each.value, "deployment_group_name") depends_on = [aws_codedeploy_app.codedeploy] service_role_arn = var....

December 6, 2021