【问题标题】:Add automatic git merge step in VSTS CI在 VSTS CI 中添加自动 git 合并步骤
【发布时间】:2017-06-15 00:45:10
【问题描述】:

我想在测试通过时将我的 dmz 分支合并到 master 分支。我找不到合并步骤。

【问题讨论】:

    标签: continuous-integration azure-pipelines branching-and-merging pull-request azure-pipelines-build-task


    【解决方案1】:

    正如提到的 DMZ 流程,您应该使用 拉取请求dmz 分支合并到 master。为了自动执行合并和构建,您可以使用web hooks

    为了保持主人的质朴可靠的本性,我们 将施加一些限制。没有人可以直接放代码 入主。每个人都必须在功能分支上工作,而那些 特性分支只能通过 pull 的方式带入 master 要求。拉取请求将自动构建,它们的构建 在合并到 master 之前检查状态,从而确保代码 进入主人总是a)通过自动检查,如 编译和测试,并且 b) 通过了代码审查。拉取请求 应该用于一切,从微小的空白更改到 全面的重构。一个健康的团队会打开很多很多的拉取请求 每天。

    流程应该是:创建一个拉取请求以将dmz 合并到master -> 自动构建dmz 分支(由web hook 触发) -> 如果构建成功(由另一个web hook 检测) - >将dmz 合并到master 并在master 分支上构建队列。

    先决条件:

    • 两个 Web 挂钩,用于检测拉取请求创建并在 dmz 分支上构建成功。
    • 两个构建定义分别构建dmzmaster 分支。
    • 根据您的请求开发的网站在dmz 构建成功后接收消息,然后将dmz 合并到master 并在master 分支上排队另一个构建。

    检测拉取请求创建的 Web 挂钩: 在 VSTS 项目网页中 -> 服务挂钩 -> 创建订阅 -> Web 挂钩 -> 下一步 -> 选择拉取请求合并提交以触发事件-> 选择你的仓库 -> 选择 master 作为目标分支 -> 下一步 -> 你的网站的 URL -> 完成。

    检测构建成功的 Web 挂钩dmz 分支上 -> 创建另一个 Web 挂钩 -> 选择构建完成以触发此事件 -> 选择构建 dmz 分支的构建定义 - > 选择成功作为构建状态 -> 下一步 -> 使用您的网站 URL 接收消息。

    网站功能应包括:

    【讨论】:

      【解决方案2】:

      如果不想使用Pull Request,可以在构建过程中调用git命令合并推送到maser分支。

      1. 在下方添加命令行任务以测试任务
      2. 工具:git;参数:push origin HEAD:master;工作文件夹:$(build.sourcesdirectory)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多