簡體   English   中英

AWS ECS 運行最新任務定義

[英]AWS ECS run latest task definition

我正在嘗試運行從 GitHub 部署 (CD) 構建的最新任務定義映像。 似乎在 AWS 上它創建了一個任務定義,例如“ task-api:1 ”、“ task-api:2 ”,我的集群仍在運行task-api:1即使有最新的任務作為新圖像已建成。 到目前為止,我必須手動停止舊的並啟動一個新的。 我怎樣才能讓它自動化?

從您在評論中所說的話來看:

我通過 AWS 控制台創建了我的任務,我只運行自己的任務定義,沒有通過 EC2 啟動的任務定義的服務和服務,而不是針對它們兩者,所以在我的 Github 兩個存儲庫的任務定義 JSON 文件中與任務的修訂相關(這可能是個問題嗎?)。

很難准確了解您是如何進行此設置的,您最好返回 go 並使用您遵循的指南或 AWS 文檔更好地了解您正在使用的服務。 推送新任務定義不會自動更新服務以使用新定義。

也就是說,我的猜測是您需要更新 ECS 中的服務以使用最新的任務定義。 您可以通過多種方式做到這一點:

這可以自動化,但您需要設置一個流程來自動化它。

我建議閱讀一些關於如何使用 CDK 自動部署和更新的指南。 亞馬遜提供了一個很好的指南來幫助您入門https://docs.aws.amazon.com/cdk/latest/guide/ecs_example.html

您必須將任務包裝在服務中,並使用滾動更新進行自動化部署。

當滾動更新 (ECS) 部署類型用於您的服務時,當啟動新服務部署時,Amazon ECS 服務計划程序會用新任務替換當前正在運行的任務。

閱讀: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html

這就是 DevOps,因此您需要一個 CI/CD 管道來為您進行滾動更新。 查看 CodeBuild、CodeDeploy 和 CodePipeline(以及 CodeCommit,如果您將 AWS 中的代碼存儲庫與 CI/CD 集成)

閱讀: https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-ecs-ecr-codedeploy.html

這是一個復雜的話題,但最終會得到回報。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM