在 Visual Studio + VSO + Git 中复制门控签入功能

Replicate Gated check-in functionality in Visual Studio + VSO + Git

我正在尝试在 Visual Studio + VSO + Git 中复制门控签入功能。

实际上我想 运行 在代码提交到本地仓库或推送到远程之前进行单元测试。

但面临一个问题 - VSO 中没有门控签入功能 + GIT。

我已经尝试配置 git 挂钩 - 预提交挂钩对我有用 - 但 Visual Studio GIT 提供商不支持 Git 挂钩!这是由于 libgit2 - 它在 Visual Studio 中使用并且不支持钩子:(

所以我的问题是如何在 Visual Studio 2013 + VSO +Git 提交之前自动 运行 NUnit 测试并且不允许错误代码进入我的回购协议?

谢谢!

最好的方法可能是使用拉取请求功能并仅合并单元测试通过的分支。你只能合并这些成功的建筑。

另一种可能性是使用像 git-build 这样的脚本,它可以帮助您在推送之前 运行 在本地执行命令(构建和测试)...请参阅 here for explaination and here for a more recent script(对不起法国...)

VSO 中已添加门控签入或等效项。如果您在管理员中转到 Git 存储库的属性,当您 select 一个分支时,您应该会看到一个额外的设置选项卡。

选中此框以在合并之前为您的 MASTER 分支和 select 您要用于验证的构建启用构建。

https://www.visualstudio.com/en-us/news/2015-may-15-vso.aspx

然后开发人员必须向 MASTER 创建拉取请求并通过大门才能进入。