-1

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

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

4

4 回答 4

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。这使得 master 在启动同一作业的下一次迭代之前等待作业完成。您可能希望保留此功能,除非您可以同时运行 10 个相同的作业。

于 2014-11-19T04:23:10.260 回答
1

你可以使用 NotAgain 给出的方法,或者像这样的 curl 请求。

如果您不想创建包装器,则可以将Throttle 并发构建插件添加到您的詹金斯安装中,因为您可能希望您的作业对其工作区具有独占访问权限(取决于您所做的事情,它可能会失败或不会失败) .

最后,最后一种可能性是创建另一个工作,并作为构建后操作添加构建其他工作的选项,只要你想要的时间(是的,这很奇怪,但它可以工作,根据你需要做的)。

于 2014-11-19T12:20:35.280 回答
1

我们用这个插件做到这一点:https ://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin

使用这个插件“构建流程插件”,您可以在 Jenkins 中创建一个名为“构建流程”的新作业类型,它允许您通过 groovy 脚本控制构建管道,也就是流程:

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

这将运行 Jenkins Job “Your Jenkins Job” 30 次。

于 2014-12-03T22:36:35.937 回答
0

您可以使用 Build Triggers 中的 Build Periodically 来使用非常简单的解决方案,例如:

H/15 * * * *

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

于 2017-12-06T10:02:29.527 回答