在更改配置后,有什么方法可以使用Terraform触发CodeDeploy部署?

kgo*_*ski 5 amazon-web-services aws-code-deploy terraform

我目前正在将AWS上的配置管理迁移到Terraform,以使其更易于插入。我喜欢的是可以管理对Autoscaling组的滚动更新的功能,Terraform会等到新实例投入使用后再销毁旧的基础架构。这与“裸”基础结构很好地配合。但是在更新实际的应用程序实例时遇到了一个问题。该代码是通过AWS CodeDeploy部署的,我可以告诉Terraform使用新的Autoscaling Group的生成名称作为部署目标,但启动时不会将代码部署到新实例。当我手动选择“将更改部署到部署组”时,部署成功启动。任何想法如何使这一步骤自动化?

Pau*_*aul 2

https://www.terraform.io/docs/provisioners/local-exec.html也许可以做到这一点。夫妇假设

发布代码后,您只需添加一个

resource "something" "some_name" {
    # Whatever config you've setup for the resource
    provisioner "local-exec" {
        command = "aws deploy create-deployment"
  }
}
Run Code Online (Sandbox Code Playgroud)

仅供参考,aws deploy create-deployment 命令不完整,因此您必须在您的环境中使用该命令,直到获得触发推出所需的值,但希望这足以让您开始。