默認情況下,CDK 管道似乎只適用于一個分支。我是不是遺漏了什么,或者你知道有沒有辦法
- 有一個開發分支部署到開發賬戶/環境
- 測驗分支部署到測驗帳戶/環境。
- jons-cool-feature-branch 到 X 帳戶/環境等
理想情況下,我們不希望將所有內容都推送到 master 分支以部署到 dev/test,這樣我們就可以保持 master 分支的干凈、整潔和穩定。
我想過有多個管道,一個用于開發,一個用于測驗,一個用于主,這可以解決問題,但感覺不是最干凈的解決方案。
有推薦的款式嗎?
uj5u.com熱心網友回復:
AWS 規定的最佳實踐是使用基于主干的開發。
因此,單個管道不能使用多個分支干凈地部署到不同的環境。
您應該考慮創建一個單獨的管道,進而創建特定于環境的管道。
這是 CDK 存盤庫中的一個相關問題:https : //github.com/aws/aws-cdk/issues/9461
uj5u.com熱心網友回復:
Codepipeline 不能分支。它不是為這樣做而設計的。
如果您絕對必須擁有多個環境和單個管道,則解決方案是擁有一個在中間具有手動批準步驟的多階段管道。
那是
源(開發分支)-> 構建/部署-> 手動批準步驟-> 使用 Codebuild 或 lambda 將您現在測驗的代碼(仍在工件鏈中)移動到您的測驗分支(即使用一個 git server api 根據來自啟動鏈的初始提交的提交訊息啟動合并 -> 另一個構建。/部署到您的測驗環境(甚至可以在此處進行跨帳戶部署)-> 手動批準步驟 -> 重復為多次,直到您部署到生產。
然而......這完全是一個黑客。您最好使用多個管道。我會使用 CDK 來動態調整管道本身的 cloudformation 模板來處理 Dev/Prod,然后簡單地部署兩次,將一個鏈接到 Dev 的源,一個鏈接到 Main 的源。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/346015.html
