【问题标题】:How do I create a VSTS Build for a Pull Request?如何为拉取请求创建 VSTS 构建?
【发布时间】:2017-11-06 21:53:30
【问题描述】:

我正在尝试在 VSTS 中创建一个构建定义,以便在发出拉取请求时运行。我已经为master 分支设置了一个 CI 构建,但希望在合并(理想情况下自动)到 master 之前在每个 PR 上运行一个单独的构建。我了解分支政策,但在创建实际的构建定义时遇到了问题。

当我尝试配置构建时,Get Sources 任务需要一个分支名称,而在拉取请求时我没有。如何仅为 Pull Requests(分支名称未知)创建构建定义?

【问题讨论】:

  • 这个link 讨论了配置一个特定的构建定义来为每个 PR 运行。我认为这可能对你有用。
  • 一旦配置了分支策略并分配了构建,VSTS 将创建一个临时分支,将 Feature 分支合并到 Pull Request 中的目标分支,然后将该分支名称传递给自动构建。您无需担心分支,因为 VSTS 会处理它。
  • @PatrickSteele 我已经阅读了所有这些内容,他们所说的只是进行构建定义。我的困惑在于从 PR 获取资源,而不是从下拉列表中选择的分支。
  • @DenverDev 是正确的,当我创建该构建定义时,我选择的分支将自动被 PR 分支覆盖。如果您可以根据您的解释创建答案,我会将其标记为已接受。

标签: git build azure-devops


【解决方案1】:

这是无需您真正考虑就可以“正常工作”的事情之一。

  1. 创建您希望由拉取请求触发的构建定义。这可以是仅针对拉取请求的特定构建,也可以是多用途构建。 您需要在“获取源”步骤中选择一个分支,但 VSTS 将使用由拉取请求动态创建的分支覆盖此值
  2. 导航到代码 -> 管理存储库并按照说明创建Branch Policy。您需要按照“需要成功构建”下的说明进行操作
  3. 从您的功能分支创建一个拉取请求到您在步骤 #2 中为其配置策略的分支,您将看到 VSTS 使用动态创建的分支为您启动构建。

【讨论】:

    【解决方案2】:

    使用Branch Policies。这将允许您重用现有的 CI 构建并让它作为针对指定分支打开的任何 PR 的一部分自动运行。

    【讨论】:

    • 我非常了解整个过程,我的问题是关于在构建定义中获取源时选择分支的一小步。
    • 您不会更改构建定义中的任何内容。当构建通过分支策略排队时,会自动设置要构建的分支。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 2017-03-28
    相关资源
    最近更新 更多