0

這是一個基本的問題: 我有一個基本的codepipeline管道設置如下所示:什麼是設置代碼管道以將不同分支部署到不同Elastic Beanstalk環境的「正確」方式?

  1. 來源是GitHub的分支(主)
  2. 與AWS Codebuild構建
  3. 部署到彈性魔豆 - >部署到appname-prod環境

這一切都有道理,並且很簡單。

現在我想爲staging做同樣的事情:有一個staging分支,當它被提交時,Codebuild構建它,並且它被部署到appname-staging環境。

什麼是正確的方法來做到這一點?

我應該只有兩個不同的管道(一個用於生產,一個用於分段)?

或者是否有一種很好的方法在同一管道內同時具有這兩種行爲(可能還有第三種行爲)?

謝謝!

回答

2

您需要根據我的經驗爲每個分支設置一條管道。可能是每個環境的管道結構不同或相同。

如果您選擇執行CI/CD設置,那麼非生產管道將包含測試等階段,並假設每個階段都通過,那麼部署將自動進入非生產elasticbeanstalk環境。

對於生產環境,您可能希望包含手動審批階段,從而擁有持續交付管道。或者,如果可以自動部署,則可以使用非prod的管道格式。

如果您希望使用您手動重複手動創建的管道,這是一個不錯的竅門。是通過cli提取它的一個cloudformation模板。

aws codepipeline getpipeline --name <name> 

這給你一個codepipeline資源的cloudformation模板。你需要編輯一下,但是如果它引用了一個回購和分支,你可以調整它。您也可以對其進行參數化,以便您可以輕鬆創建許多具有相似結構的管道。

祝你好運!

相關問題