mirror of
https://github.com/farcasclaudiu/terraform-course.git
synced 2026-06-22 11:02:01 +03:00
04cc267e86
* codepipeline
54 lines
1.2 KiB
Terraform
54 lines
1.2 KiB
Terraform
resource "aws_codedeploy_app" "demo" {
|
|
compute_platform = "ECS"
|
|
name = "demo"
|
|
}
|
|
|
|
resource "aws_codedeploy_deployment_group" "demo" {
|
|
app_name = aws_codedeploy_app.demo.name
|
|
deployment_config_name = "CodeDeployDefault.ECSAllAtOnce"
|
|
deployment_group_name = "demo"
|
|
service_role_arn = aws_iam_role.demo-codedeploy.arn
|
|
|
|
auto_rollback_configuration {
|
|
enabled = true
|
|
events = ["DEPLOYMENT_FAILURE"]
|
|
}
|
|
|
|
blue_green_deployment_config {
|
|
deployment_ready_option {
|
|
action_on_timeout = "CONTINUE_DEPLOYMENT"
|
|
}
|
|
|
|
terminate_blue_instances_on_deployment_success {
|
|
action = "TERMINATE"
|
|
termination_wait_time_in_minutes = 5
|
|
}
|
|
}
|
|
|
|
deployment_style {
|
|
deployment_option = "WITH_TRAFFIC_CONTROL"
|
|
deployment_type = "BLUE_GREEN"
|
|
}
|
|
|
|
ecs_service {
|
|
cluster_name = aws_ecs_cluster.demo.name
|
|
service_name = aws_ecs_service.demo.name
|
|
}
|
|
|
|
load_balancer_info {
|
|
target_group_pair_info {
|
|
prod_traffic_route {
|
|
listener_arns = [aws_lb_listener.demo.arn]
|
|
}
|
|
|
|
target_group {
|
|
name = aws_lb_target_group.demo-blue.name
|
|
}
|
|
|
|
target_group {
|
|
name = aws_lb_target_group.demo-green.name
|
|
}
|
|
}
|
|
}
|
|
}
|