Hudson 自动检测作业需要构建(SVN HEAD diff)
我们正在使用 Hudson 来持续集成许多项目。我想知道是否有一个现有的插件或脚本可以自动检测是否需要构建作业 - 但实际上并不构建它,只需发送电子邮件,将作业添加到某个队列中,或者如果检测到 SVN 存储库模块是否已更新,则“标记”构建。它应该为每个不同的作业发送一个警报(或在某处设置一个标志)。
目标是了解哪些项目已更新并需要重新部署。我们有许多不同的项目,它们需要在代码更改后尽快升级(在 QA 中,然后在生产中)。这是为了最小化上次提交和部署时间之间的时间,从而减少回归长时间未被检测到的风险。
We are using Hudson for continuous integration of many projects. I would like to know if there is an existing plugin or script that would automatically detect if a job needs to be built - but not actually build it, just send an email, add the job to a queue somewhere, or "flag" the build if it detects if the SVN repository modules have been updated. It should send one alert (or set a flag somewhere) per different job.
The goal is to know which projects have been updated and need redeploying. We have many different projects, and they need to be promoted (in QA, then production) as soon as possible after a code change. This, in order to minimize the time between the last commit and the deployment time, and therefore the risk that a regression goes undetected for too long.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
还没见过这样的东西。但是,您可以创建一个新作业(自由式)来针对 SVN(shell 脚本)运行必要的命令。不要为此作业配置 SVN 存储库,否则 Hudson 将检查源代码(我们希望避免这种情况,因为这是不必要的)。您的脚本将项目的当前修订版与上次构建的修订版(必须由构建作业存储在某个位置)进行比较,并根据它是否是不同的修订版设置错误代码。如果不同,您的工作将失败,请发送必要的电子邮件并将您的工作标记为失败。这样您就拥有了标志和电子邮件。
Haven't seen something like this yet. However, How about you create a new job (freestyle) which runs the necessary commands against SVN (shell script). Don't configure a SVN repository for this job, otherwise Hudson will check the source code out (we want to avoid that since it is unnecessary). Your script compares the current revision of the project with the revision of the last build (must be stored somewhere by the building job) and sets the errorcode depending on whether it is a different revision or not. If it is different your job will fail, sent out the necessary emails and Flags your job as failed. So you have both the flag and the email.