如何在Jenkins中一次又一次地执行相同的构建(假设我想连续执行构建10次)。每次执行后都必须复制报告。
不要说创造10个工作并使用下游/上游。
答案 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)
您可以通过使用构建触发器定期构建使用非常简单的解决方案,例如:
这会在每十五分钟触发一次工作(可能在:07,:22,:37,:52)。因此,这不会立即触发下一次执行,但您可以通过这种方式安排它。