Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform CodeDeploy命令扰乱地形状态_Terraform_Terraform Provider Aws - Fatal编程技术网

Terraform CodeDeploy命令扰乱地形状态

Terraform CodeDeploy命令扰乱地形状态,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,在我们的CI/CD解决方案中,我们的基础设施是通过terraform设置的。设置包括ECS、CodeDeploy部署组等,作为初始设置的一部分,我们使用barebones taskdef设置ECS 虽然这是我们的初始设置,但我们的常规代码增量是通过Jenkins实现的,aws code deploy cli命令会在最新版本的task def上部署最新版本的映像 然而,这带来了一个问题,即在实时环境中通过terraform在ECS上进行的任何新的与infra相关的更改都会将任务替换回原来的赤裸裸的

在我们的CI/CD解决方案中,我们的基础设施是通过terraform设置的。设置包括ECS、CodeDeploy部署组等,作为初始设置的一部分,我们使用barebones taskdef设置ECS

虽然这是我们的初始设置,但我们的常规代码增量是通过Jenkins实现的,aws code deploy cli命令会在最新版本的task def上部署最新版本的映像

然而,这带来了一个问题,即在实时环境中通过terraform在ECS上进行的任何新的与infra相关的更改都会将任务替换回原来的赤裸裸的状态,从而导致出现问题

有人曾经面对过这个问题,并且有解决方案吗

我们希望尽可能地坚持以下原则

  • 仅通过TerrafForm进行Infra设置
  • 通过aws code deploy cli命令进行部署,以实现新的部署

  • 有没有一种方法可以让terraform知道,不必担心ECS中的taskdef,而是在terraform状态之外进行管理?

    可以将
    生命周期
    元参数添加到任何terraform资源中,从而在重新应用terraform时选择性地防止不必要的更新

    prevent\u destroy
    用于在进行可能破坏资源的更改时获取计划时间错误


    忽略\u更改
    将成为您防止不必要更新的主要工具。

    谢谢。我认为这些应该是有用的设置