我目前正在嘗試使用CodePipeline自動化我們的開發過程。我的碼頭應用程序從Source(Github) - > Builds(AWS CodeBuild) - > Deploy中獲取。在最終部署過程中,我無法修改我的任務定義並重新啓動羣集任務。我知道我需要一個CloudFormation模板來執行這些操作,但沒有太多關於如何使用CloudFormation完成部署過程的文檔(修改我的任務定義並更新我的任務)。有沒有另一種方法通過AWS自動部署我的容器?Docker與AWS持續集成
回答
如果您從CloudFormation部署了原始服務,那麼CloudFormation可以非常容易地將新任務定義部署到ECS上。
這裏是CloudFormation將如何部署爲您服務到EC2集裝箱服務一個很好的入門:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ecs.html
一旦你擁有了一切從CloudFormation部署您對部署2種選擇: 1)更新CloudFormation模板與您需要的新部署組件,它將爲您創建更改集並更新您的堆棧。 2)僅使用CloudFormation部署服務並將任務定義作爲參數。這將允許您只修改堆棧的輸入,而不是每次都更新整個內容。
當您在堆棧中更新CloudFormation時,CloudFormation將自動嘗試併爲您執行藍/綠部署。
謝謝你的幫助戴維斯。只是重新迭代,我應該使用這個模板來管理我的ECS實例/容器/圖像,並在我的管道中使用它。但無論如何,我可以修改這個腳本,或者是否有任何現有的腳本將重新啓動我的任務指向:最新的圖像? – Serey
我過去的做法是使用一個CF模板爲我想要部署的每個服務構建ECS羣集和一個模板。 如果要將服務更新爲最新的任務定義/泊塢窗圖像,請將CF更改爲指向最新的ECR圖像/任務定義(無論您將哪個設置爲模板參數)。 CF會爲你部署它。您可以通過控制檯或通過CLI和腳本將其寫入CI/CD管道。 我個人更喜歡將ECR圖像作爲參數,因爲它會更新和重新部署任務定義 – davis190
我想我把所有的東西都放在一起,我唯一缺少的是一個CF模板,它將我的任務定義指向成功構建的最新版本,感謝您的幫助! – Serey
對於您所描述的,你可以試試這個樣本https://github.com/awslabs/ecs-refarch-continuous-deployment
感謝您的幫助!不確定你以前是否使用過這個,但service.yaml腳本是否允許重新定義任務定義以指向最新的圖像構建? – Serey
試錯用不同的方法後,最好的方式來更新您的ECS任務定義和服務是通過AWS直接更新他們的方案通過AWS CodeBuild在buildspec.yml的post_build部分中使用CLI。您甚至可以使用使用提交ID設置的環境變量來跟蹤每個圖像的標記!
- 1. 與Grails持續集成
- 2. 與VSTS的持續集成
- 3. 與mysql的持續集成
- 4. 與Laravel持續集成與開發
- 5. TFS持續集成
- 6. 持續集成 - 多久會持續
- 7. 與GTest和Buildbot的持續集成
- 8. 自動部署與gitlab持續集成
- 9. 與React Native的持續集成
- 10. iOS - 與Jenkins/Fastlane持續集成
- 11. 與.net和svn的持續集成
- 12. 與Reporting Services的持續集成
- 13. 包裝TFS與JBOSS 2.4.11持續集成
- 14. BitBucket與Bamboo OnDemand持續集成
- 15. 與Visual Studio 2005的持續集成
- 16. 與Surround SCM的持續集成
- 17. 持續集成和預集成
- 18. Checkitx集成在Gitlab CI持續集成
- 19. Clearcase集成與哈德森持續集成
- 20. 如何將WebWorks ePublisher與持續集成服務器集成?
- 21. NAnt與數據庫集成測試,並最終持續集成
- 22. 將商業服務器與持續集成服務器集成
- 23. 什麼是持續集成?
- 24. 增量持續集成
- 25. 持續集成web服務
- 26. iOS:UI測試+持續集成?
- 27. Corona SDK持續集成
- 28. QUnit和Sinon.js持續集成
- 29. 持續集成工具
- 30. 持續集成和QA
你在哪裏部署?雖然有一些腳本來更新服務,但Amazon EC2容器服務可以輕鬆部署Docker容器。 – stdunbar
我正在嘗試部署到EC2容器服務。我知道我必須更新任務定義並將服務指向已部署的新映像。有沒有現成的模板可以讓我觸發CloudFormation來爲我做更新服務? – Serey