首页 > 解决方案 > 使用 CodePipeline 在 GitHub 中跟踪更改名称的分支

问题描述

我正在使用 CodePipeline 自动部署到 EB 我的 Node.JS 应用程序。我也使用 GitHub 作为我的 repo 源。

使用 Git Flow,每次我想要发布时,我都必须创建一个名为“release/xyz”的分支。

CodePipeline 有什么方法可以跟踪任何以“发布”开头或包含“发布”的分支?也许像“release/*”这样的通配符?这样我就可以创建一个新版本,而不必设置新的管道或编辑现有的管道。

谢谢!

标签: node.jsgitamazon-web-servicesgithubaws-codepipeline

解决方案


CodePipeline 目前只能在动作配置中定义的每个源动作的单个分支上运行。创建管道时需要指定 git 仓库和分支名称,因此如果分支名称未知,如 GitFlow 分支模型,则无法提前创建管道。

CodePipeline 绑定到单个 git 分支更多是 CodePipeline 的一个特性,因为该设计更倾向于基于 Trunk 的开发。此外,根据该服务的设计者,CodePipeline 专为合并/发布后验证而设计。也就是说,一旦您的更改准备好发布到生产环境并合并到您的主/主分支中,CodePipeline 就会接管并自动测试并发布最终合并的更改集。CodePipeline 有很多功能,例如阶段锁定、取代版本等,对于您想要在合并之前单独测试更改的情况(例如功能分支测试或拉取请求测试),这些功能效果不佳。因此目前有不推荐在 CodePipeline 中执行此操作。

我想向您推荐以下博客文章,这些文章提供了您可能会发现对您的用例有用的解决方案:

使用 AWS CodePipeline、AWS CodeCommit、AWS CodeBuild 和 AWS CodeDeploy 实施 GitFlow

具有事件驱动架构的多分支 CodePipeline 策略


推荐阅读