【问题标题】:Tracking a name-changing branch in GitHub with CodePipeline使用 CodePipeline 在 GitHub 中跟踪更改名称的分支
【发布时间】:2020-10-20 19:28:51
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: node.js git amazon-web-services github aws-codepipeline


    【解决方案1】:

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

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

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

    Implementing GitFlow Using AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, and AWS CodeDeploy

    Multi-branch CodePipeline strategy with event-driven architecture

    【讨论】:

      【解决方案2】:

      很遗憾,你不能这样做。每个要使用的分支都需要一个代码管道。

      如果您想自动设置它们,您需要为此开发自定义解决方案。

      【讨论】:

        猜你喜欢
        • 2012-07-01
        • 1970-01-01
        • 2011-06-20
        • 1970-01-01
        • 2012-07-01
        • 2018-07-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多