将 Development 分支合并到 Build 上的 Staging 分支 - Team Foundation Server

Merge Development branch into Staging branch on Build - Team Foundation Server

是否可以在开发分支构建成功后将开发分支合并到暂存分支?

您可以自定义您的构建,因此它使用 tf.exe 命令行客户端(或 TFS API)来执行此操作。我会使用 powershell 脚本,该脚本又使用 tf.exe 工具进行合并 + 签入到所需的分支。

但是,问题是这只有在没有冲突的情况下才有效。如果存在冲突,您将无法自动解决它们以完成合并。

假设您的目标是将代码部署到暂存环境,那么我建议您在那里使用了错误的升级模型。代码提升模型,就像你上面描述的那样,与连续的任何东西都非常对立。要么你只是想要持续集成,要么你想一直持续交付你做错了。从代码提升切换到二进制提升。

您应该从单个分支构建应用程序的单个版本,并通过各种质量状态来提升它。额外的好处是针对这些二进制文件的任何测试 运行 在任何环境中都有效通过。重新编译,你必须重新设置你的测试计划。

http://nakedalm.com/create-release-management-pipeline-professional-developers/

从技术上讲,更改为二元模型非常困难。任何困难都将是您组织内部的政治和文化问题。然而,这是一场非常值得的战斗。

您可以在 "Gated Checkin mode" 触发器中为暂存分支配置构建定义。

当您将代码提交到暂存分支时,构建必须 运行 在您的代码上传到源代码管理之前成功。

您可以在 MSDN 中找到有关 "Gated Checkin" 的更多信息:

https://msdn.microsoft.com/en-us/library/dd787631.aspx