使用 CodePipeline 跟踪 GitHub 中的名称更改分支
Tracking a name-changing branch in GitHub with CodePipeline
我正在使用 CodePipeline 将我的 Node.JS 应用程序自动部署到 EB。我还使用 GitHub 作为我的回购源。
使用Git Flow,每次我想做一个发布,我必须创建一个名为“release/x.y.z”的分支。
CodePipeline 是否可以通过任何方式跟踪任何以“release”开头或包含“release”的分支?也许像“release/*”这样的通配符?这样我就可以创建新版本,而不必设置新管道或编辑现有管道。
谢谢!
遗憾的是你不能这样做。您要使用的每个分支都需要一个代码流水线。
如果您想自动设置它们,您需要为此开发自定义解决方案。
CodePipeline 目前只能 运行 每个源动作的单个分支,这是在动作配置中定义的。创建流水线时需要指定git仓库和分支名称,所以如果像GitFlow分支模型一样不知道分支名称,是无法提前创建流水线的。
CodePipeline 绑定到单个 git 分支更像是 CodePipeline 的一个功能,因为设计更倾向于基于 T运行k 的开发。此外,根据该服务的设计者,CodePipeline 专为 post-merge/release 验证而设计。也就是说,一旦您的更改准备好发布到生产环境并合并到您的 master/main 分支中,CodePipeline 就会接管并自动测试并发布最终合并的更改集。 CodePipeline 有很多功能,如阶段锁定、取代版本等。如果您想在合并之前隔离地测试更改(例如功能分支测试或拉取请求测试),这些功能效果不佳。因此目前有在 CodePipeline 中不推荐这样做。
我想推荐您参考以下博客文章,这些文章提供了您可能会发现对您的 use-case 有用的解决方案:
Implementing GitFlow Using AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, and AWS CodeDeploy
Multi-branch CodePipeline strategy with event-driven architecture
我正在使用 CodePipeline 将我的 Node.JS 应用程序自动部署到 EB。我还使用 GitHub 作为我的回购源。
使用Git Flow,每次我想做一个发布,我必须创建一个名为“release/x.y.z”的分支。
CodePipeline 是否可以通过任何方式跟踪任何以“release”开头或包含“release”的分支?也许像“release/*”这样的通配符?这样我就可以创建新版本,而不必设置新管道或编辑现有管道。
谢谢!
遗憾的是你不能这样做。您要使用的每个分支都需要一个代码流水线。
如果您想自动设置它们,您需要为此开发自定义解决方案。
CodePipeline 目前只能 运行 每个源动作的单个分支,这是在动作配置中定义的。创建流水线时需要指定git仓库和分支名称,所以如果像GitFlow分支模型一样不知道分支名称,是无法提前创建流水线的。
CodePipeline 绑定到单个 git 分支更像是 CodePipeline 的一个功能,因为设计更倾向于基于 T运行k 的开发。此外,根据该服务的设计者,CodePipeline 专为 post-merge/release 验证而设计。也就是说,一旦您的更改准备好发布到生产环境并合并到您的 master/main 分支中,CodePipeline 就会接管并自动测试并发布最终合并的更改集。 CodePipeline 有很多功能,如阶段锁定、取代版本等。如果您想在合并之前隔离地测试更改(例如功能分支测试或拉取请求测试),这些功能效果不佳。因此目前有在 CodePipeline 中不推荐这样做。
我想推荐您参考以下博客文章,这些文章提供了您可能会发现对您的 use-case 有用的解决方案:
Implementing GitFlow Using AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, and AWS CodeDeploy
Multi-branch CodePipeline strategy with event-driven architecture