将.NET项目与Jenkins和SVN集成的最佳方法是什么(我不知道现在是否有机会切换到git ),并能够在构建之后和生产之前检查代码。
我想要这样的东西:
6a.不是一切都好。6b。Jenkins向开发人员发出通知,他的提交破坏了构建,我们回到第2步。
我知道如何做第1-6步。或多或少。我知道我可以用MSBuild构建所有东西,所以这并不难,但我不知道如何配置步骤6-9,
GIT:
我觉得用吉特会容易得多。我看到在构建后的操作中有Git,我可以将更改推送到分支--“评审分支”或类似的东西,并向审阅者发送通知。他们会提取存储库,一切都会很好。嗯,也许詹金斯应该创建对该分支的拉请求,而不是推到审查分支。但就像我说的那样,这将是吉特的场景。我是在这里写的,因为对我来说,git是更好的选择,但可能不可能。我只想知道如果我们谈的是git,我是不是错过了什么。
SVN:
我不知道该怎么做。Jenkins有什么内置的东西来处理第二个SVN存储库的“推”吗?如何将代码提交到存储库B?
回顾:最好的方法是什么?- (GIT) Jenkins创建拉请求--如果可能的话-- Jenkins推送到第二次审查分支,并通过电子邮件发送通知或在某个问题跟踪器(Redmine/Jira)上创建一些票证- (SVN) Jenkins承诺审查存储库并发送电子邮件或创建票证。-也许最好将所有内容与ReviewBoard/Gerrit或其他类似的东西集成在一起。现在,我从来没有使用过这样的软件,我读到Gerrit有点麻烦。
发布于 2012-11-30 18:29:51
有件事你需要记住:
在版本控制系统中,一切都是可逆的。
这意味着您可以对已提交的代码进行代码检查,并修复新提交中的任何问题。事实上,这实际上与Subversion有关,因为Subversion为您提供了一个包含所有代码更改的很好的修订编号。每个人都是如此。(“我们正在审查修订本23 340版”)。大多数代码评审都在寻找一些东西,比如忘记检查空指针,等等。如果代码非常糟糕,Subversion可以轻松地完全逆转更改。
Jenkins会立即告诉您构建是否不好,我们的政策是,开发人员有10分钟来解决问题,或者放弃他们的更改。(90%的时间,他们放弃了他们的改变)。我们有我们的系统设置,所以开发人员和Jenkins都使用相同的构建机制。这允许开发人员在提交更改之前测试构建并运行单元测试。
这就是为什么大多数版本控制系统没有搁置的原因,而且您看不到三组存储库和大多数位置。这不是你的公寓。你妈妈不会来看你的代码历史记录。它不一定要整洁。让它反映出发生了什么。
简化。移除最后三个步骤。在同一个存储库中检查和修复代码。这意味着必须维护的存储库减少66%。硬件减少66%。和,
您真正需要的是一种跟踪代码评审的方法。您可以使用类似于坩埚的东西,但也可以使用Jenkins。使用Jenkins跟踪更改有两种方法:
促进构建简单插件是...well。很简单。您可以在Jenkins配置页面中指定所有不同的升级级别,这就是所有构建将使用的内容。每个单独的构建只允许一个升级级别,并且这都是手动完成的。
标准的促进构建插件工作更多一些,但它也更加强大。它允许每个Jenkins工作都有自己的构建促进计划。晋升可以是手动的,也可以是自动的。当一个构建得到提升时,它可以产生其他的操作,例如发送电子邮件、部署到服务器等。此外,您还可以显示多个升级。想象一下以下的晋升级别:
发布于 2012-11-30 16:30:22
回答“它能完成”部分
是的,詹金斯可以照你说的做。我已经设置了使用存储库使用SVN的所有所需部分的作业(但不是您的过程)。我不确定吉特的事。
添加生成步骤以执行Windows批处理文件。
如果使用SVN,请查看Jenkins SVN Publisher插件。对于GIT来说,它看起来可能在Git插件上实现,但有一个小小的警告:“安装插件本身就像一个魅力,但配置系统在Windows下正常工作可能是一个棘手的问题。让我们看看你可能遇到的问题。”
https://stackoverflow.com/questions/13635119
复制相似问题