Jenkins + SVN + .NET 项目 + 代码审查。最好的方法是什么?

Sim*_*mon 5 .net svn git msbuild jenkins

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

我想要这样的东西:

  1. 开发人员签出存储库。
  2. 开发人员实现了一些东西。
  3. 开发人员提交对存储库 A (SVN) 的更改
  4. Jenkins 监控存储库 A (SVN)
  5. Jenkins 开始构建。
  6. Jenkins 开始单元测试。
  7. 一切都好。
  8. Jenkins 向存储库 B 提交更改。(审查存储库)
  9. QA 人员审查代码。
  10. QA 人员将更改提交到存储库 C(生产)

6a. 并非一切都好。6b. Jenkins 向开发人员发送通知,指出他的提交破坏了构建,我们回到第 2 步。

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

吉特:

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

SVN:

在这里,我不知道该怎么做。詹金斯是否有内置的东西来处理“推送”到第二个 SVN 存储库?如何将代码提交到存储库 B?

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

jwe*_*rny 0

【回答“能不能做到”部分】

\n\n

是的,詹金斯可以做你所描述的事情。我有设置作业,使用 SVN 作为存储库(但不是您的过程)使用所有所需的部分。我不确定GIT。

\n\n
\n
    \n
  1. Jenkins 开始单元测试。
  2. \n
\n
\n\n

添加构建步骤以执行 Windows 批处理文件。

\n\n
\n
    \n
  1. Jenkins 将更改提交到存储库 B。(审核存储库)
  2. \n
\n
\n\n

如果使用 SVN,请查看Jenkins SVN Publisher Plugin对于 GIT,看起来使用Git Plugin是可能的,但是有一个小警告:“安装插件本身就像一个魅力,但配置系统在 Windows 下正常工作可能会很棘手。让\xc3\ x82\xc2\xb4s 查看您可能遇到的问题。”

\n