【问题标题】:Replicate Gated check-in functionality in Visual Studio + VSO + Git在 Visual Studio + VSO + Git 中复制门控签到功能
【发布时间】:2015-10-21 00:46:42
【问题描述】:

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

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

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

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

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

谢谢!

【问题讨论】:

标签: git visual-studio nunit githooks azure-devops


【解决方案1】:

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

另一种可能性是使用 git-build 之类的脚本,它可以帮助您在推送之前在本地运行命令(构建和测试)...见here for explainationhere for a more recent script(对不起法语...)

【讨论】:

  • 谢谢!我将尝试实施 git-build 解决方案来运行测试,因为我们的测试运行得非常快。不幸的是,此解决方案将要求开发人员使用控制台将数据推送到存储库(git build),而不是使用本机 VS Git 提供程序 GUI。我试图找到可以允许使用本机 VS 界面的“透明”解决方案,但正如我所见,VS 不提供在提交/推送过程中包含自定义脚本的任何能力。
【解决方案2】:

门控签入或同等功能已添加到 VSO。如果您在 Admin 中转到 Git 存储库的属性,则在选择分支时应该会看到一个额外的设置选项卡。

选中复选框以在合并之前为您的 MASTER 分支启用构建,然后选择您要用于验证的构建。

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

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

【讨论】:

  • 您可以获得接近门控签到的东西,但这不是功能奇偶校验。听起来这对于 VSO 来说还不存在。
  • 远程拉取请求如何像运行单元测试预提交一样?
猜你喜欢
  • 1970-01-01
  • 2014-09-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-26
  • 2014-10-28
  • 2023-03-24
  • 2012-04-24
  • 1970-01-01
相关资源
最近更新 更多