首页 文章

Terraform无法将API网关更改部署到多个阶段中的一个阶段?

提问于
浏览
0

使用此代码:

resource "aws_api_gateway_deployment" "example_deployment" {
  depends_on = [
    "aws_api_gateway_method.example_api_method",
    "aws_api_gateway_integration.example_api_method_integration"
  ]
  rest_api_id = "${aws_api_gateway_rest_api.example_api.id}"
  stage_name = "${var.stage_name}"
}

我可以将API网关更改部署到我指定的任何阶段 . 但是,这将覆盖任何现有阶段 . 也就是说,如果我首先部署到一个名为'dev'的阶段,然后部署到'prod',它将擦除'dev' .

如何实现多阶段部署?这样我就可以先部署到dev或staging,如果一切看起来都不错,那么就部署到prod阶段 .

1 回答

  • 0

    经过一些研究,我们最终采取了不同的策略 . 根据thisthis这样的文章,我们将每个阶段的terraform拆分为文件夹 . 因此,如果要部署dev,则在dev文件夹中运行terraform . 要避免代码重复,请使用modules . 它似乎运行良好,并允许我们部署不同版本的API .

相关问题