.net 詹金斯&x2B;SVN+。NET项目+;代码审查。最好的方法是什么?

.net 詹金斯&x2B;SVN+。NET项目+;代码审查。最好的方法是什么?,.net,git,svn,msbuild,jenkins,.net,Git,Svn,Msbuild,Jenkins,将.NET项目与Jenkins和SVN集成的最佳方式是什么(我不知道现在是否有机会切换到git),并且能够在构建之后和生产之前检查代码 我想要这样的东西: 开发人员签出存储库 开发人员实现了一些东西 开发人员将更改提交到存储库A(SVN) Jenkins监控存储库A(SVN) 詹金斯开始建造 詹金斯开始单元测试 一切都好 Jenkins向存储库B提交更改。(查看存储库) QA人员审查代码 QA人员将更改提交到存储库C(生产) 6a。并不是一切都好。 6b。Jenkins向开发人员发送了他的提交破

将.NET项目与Jenkins和SVN集成的最佳方式是什么(我不知道现在是否有机会切换到git),并且能够在构建之后和生产之前检查代码

我想要这样的东西:

  • 开发人员签出存储库
  • 开发人员实现了一些东西
  • 开发人员将更改提交到存储库A(SVN)
  • Jenkins监控存储库A(SVN)
  • 詹金斯开始建造
  • 詹金斯开始单元测试
  • 一切都好
  • Jenkins向存储库B提交更改。(查看存储库)
  • QA人员审查代码
  • QA人员将更改提交到存储库C(生产)
  • 6a。并不是一切都好。 6b。Jenkins向开发人员发送了他的提交破坏了构建的通知,我们返回到步骤2

    我知道如何执行步骤1-6。或多或少我知道我可以用MSBuild构建所有东西,所以这应该不难,但我不知道如何准确配置步骤6-9

    吉特:

    我认为使用git会容易得多。我看到在后期构建操作中有Git Publisher,我可以将更改推送到分支——“review branch”或类似的东西,并向审阅者发送通知。他们会拉存储库,一切都会很好。嗯,也许Jenkins应该创建对该分支的请求,而不是推动审查分支。但正如我所说,这将是git的一个场景。我写在这里,因为对我来说git是更好的选择,但可能不可能。我只是想知道如果我们谈论git,我是否遗漏了什么

    SVN:

    我不知道该怎么做。Jenkins是否内置了处理“推送”到第二个SVN存储库的功能?如何将代码提交到存储库B

    审查: 最好的方法是什么? -(GIT)Jenkins创建拉请求——如果可能的话 -(GIT)Jenkins推送至第二审查分支机构,通过电子邮件发送通知,或在某个问题跟踪器(Redmine/Jira)上创建一些票据 -(SVN)Jenkins承诺审查存储库并发送电子邮件或创建票据。 -或者,最好将所有内容都与ReviewBoard/Gerrit或类似的东西结合起来。现在我从未使用过这样的软件,我读到Gerrit有点麻烦。

    [回答“可以做到”部分]

    是的,詹金斯能做到你所说的。我使用SVN为存储库(但不是您的过程)设置了使用所有所需部分的作业。我对GIT没有把握

  • 詹金斯开始单元测试
  • 添加生成步骤以执行Windows批处理文件

  • Jenkins向存储库B提交更改。(查看存储库)

  • 如果使用SVN,请查看。对于GIT来说,似乎可以使用,但有一点警告:“安装插件本身很有魅力,但配置系统在Windows下正常工作可能很棘手。让我们看看您可能遇到的问题。”

    您需要记住:

    在版本控制系统中,一切都是可逆的

    这意味着您可以对提交的代码进行代码审查,并修复新提交中的任何问题。事实上,使用Subversion实际上很好,因为Subversion为您提供了一个很好的修订号,其中包含所有代码更改。这样每个人都在同一页上。(“我们正在审查修订版23340”)。大多数代码审查都在寻找诸如忘记检查空指针之类的东西。如果代码真的很糟糕,Subversion可以轻松地完全反转更改

    Jenkins会立即告诉您构建是否错误,我们的政策是开发人员有10分钟的时间来修复问题,或者收回他们的更改。(90%的情况下,他们放弃了自己的改变)。我们有我们的系统设置,所以开发者和Jenkins使用相同的构建机制。这允许开发人员在提交更改之前测试构建并运行单元测试

    这就是为什么大多数版本控制系统没有搁置,并且您看不到三组存储库和大多数位置。这不是你的公寓。你妈妈不会来看你的代码历史记录的。它不一定要干净整洁。让它反映正在发生的事情

    简化。删除最后三个步骤。检查代码并修复同一存储库中的代码。这意味着必须维护的存储库减少了66%。硬件减少66%。以及


    您真正需要的是一种跟踪代码审查的方法。你可以用,但也可以用詹金斯。使用Jenkins跟踪更改有两种方法:

    • 为各个构建添加说明:操作简单,无需额外插件。描述是灵活的。您可以进入一个项目,查看所有构建的列表并查看描述。简单易用
    • 升级的构建插件:有两个:一个是标准插件,另一个是简单插件
    问题是。。。简单。您可以在Jenkins配置页面中指定所有不同的升级级别,所有构建都将使用这些级别。每个构建只允许一个升级级别,并且都是手动完成的

    这个标准需要做更多的工作,但它也更加强大。它允许每个詹金斯工作有自己的建设推广计划。促销可以是手动的,也可以是自动的。当一个构建得到提升时,它可以产生其他操作,例如发送电子邮件、部署到服务器等。此外,您可以显示多个提升。想象一下以下提升级别:

    • 构建通过单元测试:构建完成并通过单元测试时自动升级。可向负责代码审查的QA人员发送电子邮件:
    • 代码审查已完成。无重大问题:构建总体良好。