AWS ECS 任務定義工作流程

AWS ECS 任務定義工作流程

我已將一項服務設定為部署到 ECS (EC2)。我透過 terraform 配置了服務和任務定義,然後使用 Github 操作進行部署,似乎我需要再次定義任務定義。

似乎兩者都是必需的,正確的工作流程是什麼,以便我可以刪除重複的任務定義?

還有一個問題是,一旦透過 Github 操作部署此任務定義,映像就會更新,而 terraform 想要恢復。

答案1

這是舊的,但供將來參考。

為了最初啟動服務(在建立預先配置的叢集時),需要第一個。

您可以考慮將第二個選項作為更新您的服務在 GitHub Actions 部署期間(部署映像的新版本)覆蓋初始版本(因為您可以變更映像 ID 以及任務定義中作為配置選項的所有內容)。

對於 terraform,您可以新增生命週期規則來忽略對預先配置 image_id 的任何更改,在aws_ecs_服務

  lifecycle {
    ignore_changes = [task_definiton]
  }

一個很老的問題在 terraform-provider-aws 專案中了解它如何處理任務定義變更。看一眼這則評論為您的用例提供可能的解決方法(評論作者關於該主題的部落格文章)。

下面你可以看到另一則評論連結一個帶有 terraform 程式碼範例的現成 Github Actions 解決方案。

相關內容