我正在阅读持续交付,或哲学/惯例,即提交源控制目录触发CI构建,如果构建失败,那么所有开发都会冻结,直到提交者修复问题为止 - 提交并修复构建。我真的,真的喜欢这种心态。
我们使用Jenkins作为CI服务器和SVN作为SCM(这些是公司指定的“标准”技术,所以这里没有选择技术的余地。)
我想知道如何实现这一目标。我已经为Jenkins安装了Subversion插件和Tagging Subversion插件,但是没有看到我可以在哪里设置SVN触发器来启动构建,这两个插件的文档都没有表明它们甚至具有此功能
即使我想到这一点,我还需要一种方法来在构建失败的情况下冻结SVN(这样其他开发人员就不会继续检查代码并重新触发失败的构建)。
我在这里要求太多了吗?或者我错过了正确的插件?提前谢谢!
答案 0 :(得分:1)
Subversion插件包含有关如何使用它的内联帮助。转到工作配置 - >源代码管理 - >检查颠覆。您将看到Subversion插件的表单条目,单击表单条目附近的?
标记。
冻结构建:我认为你不应该依赖硬'锁'(例如阻止提交的SVN触发器)。使用Email-Ext Plugin,您可以配置为发送各种构建事件的电子邮件。例如,Jenkins可以通过电子邮件发送给“罪魁祸首”(人们,他们的提交破坏了构建)。根据我的经验,有人应该不时检查构建系统,以检查是谁破坏了构建并“ping”它们。
答案 1 :(得分:0)
我需要一种在构建失败的情况下冻结SVN的方法
虽然我认为这是不好的做法,但......口味可能有所不同。防止提交的防弹方法
预提交挂钩在提交事务之前运行 升级到新版本。通常,这个钩子用于保护 针对因内容或位置而不允许的提交(例如, 您的站点可能要求对某个分支的所有提交都包含一个 来自错误跟踪器的票号,或传入的日志消息 是非空的。)
如果预提交挂钩程序返回非零退出值,则 提交被中止,提交事务被删除,等等 打印到 stderr会被编组回客户端。