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模板。你需要编辑一下,但是如果它引用了一个回购和分支,你可以调整它。您也可以对其进行参数化,以便您可以轻松创建许多具有相似结构的管道。

祝你好运!

相关问题