詹金斯的持续执行

时间:2014-11-18 12:12:56

标签: jenkins jenkins-plugins jenkins-scriptler jenkins-job-dsl

如何在Jenkins中一次又一次地执行相同的构建(假设我想连续执行构建10次)。每次执行后都必须复制报告。

不要说创造10个工作并使用下游/上游。

4 个答案:

答案 0 :(得分:1)

可以通过脚本启动作业。创建一个将调用给定作业的包装器作业。

这是通过命令行(我使用Windows)启动作业的方式

java -jar <Jenkins Install folder>\war\WEB-INF\jenkins-cli.jar -s http://JenkinsServer:8888/ build DEMO -s  --username ChuckNorris --password HellYeah 

有些变体你不需要输入用户名和密码。谷歌是你的朋友。

所以我会写一个包装工作来调用这个工作。我将使用“执行Windows批处理命令”作为构建步骤,然后编写一个简单的循环,它将调用该作业10次。

注意:调用的作业名称后面的-s。这使得主服务器在启动同一作业的下一次迭代之前等待作业完成。除非同时运行10个相同的作业,否则您可能希望保留此项。

答案 1 :(得分:1)

您可以使用NotAgain提供的方法或卷曲请求like this

如果您不想创建包装器,可以在jenkins安装中添加Throttle concurrent builds插件,因为您可能希望您的作业具有对其工作区的独占访问权限(取决于您的操作,它可能会失败或没有)。

最后,最后一种可能性是创建另一个作业,并添加作为构建后动作的选项来构建其他作业,尽可能多的时间(是的,它很奇怪,但它可以工作,根据你需要做什么)。

答案 2 :(得分:1)

我们使用此插件执行此操作:https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin

使用此插件“Build Flow Plugin”,您可以在Jenkins中创建一个名为“Build Flow”的新作业类型,它允许您通过groovy脚本控制构建管道,即:

for ( n in 0..30 ) {
        build("Your Jenkins Job", SampleParameter: "Value")
}

这将使詹金斯工作“你的詹金斯工作”运行30次。

答案 3 :(得分:0)

您可以通过使用构建触发器定期构建使用非常简单的解决方案,例如:

H / 15 * * * *

这会在每十五分钟触发一次工作(可能在:07,:22,:37,:52)。因此,这不会立即触发下一次执行,但您可以通过这种方式安排它。