一尘不染

我如何安排将来要执行的工作,但是只有一次

jenkins

我想安排一个在将来的指定时间最多执行一次的工作(通常该时间将是当晚的晚上,几个小时之后)。我想用詹金斯做到这一点。如果詹金斯在这段时间内碰巧倒下了,这份工作就不会被解雇-
很好。

目前,我正计划在启用“定期构建”的情况下进行一项新工作,并将时间表设置为“ 0 19 29 01 *”。

目的是安排作业在1月29日的19:00运行。

缺点是每次执行此操作时,我都必须记住要在明年之前的某个时间删除/禁用该作业,否则它将再次运行(那很不好)。无论如何,我都会手动检查作业的结果,所以做起来并不难。我只是希望有人能够指出一种安排Jenkins运行“一次性”作业的方法-
这样我就不会因为忘记禁用该作业而搞砸了。


阅读 597

收藏
2020-07-25

共1个答案

一尘不染

安装“计划构建插件”。“增加了在以后的某个时间点安排构建的功能。向用户询问日期和时间,并将构建添加到具有相应静默期的构建队列中。”

即使您看到计划构建的图标,在插件安装后似乎也需要重新启动jenkins。

https://wiki.jenkins-
ci.org/display/JENKINS/Schedule+Build+Plugin

注意:初次安装(使用jenkins
2.2)后,我收到警告“插件提供了GET”。确实确实有某种计划的工作,它说它“在13小时内到期”,这对我的计划时间是正确的。它没有执行任务。:-(

看到的警告:

You must use POST method to trigger builds. (From scripts you may instead pass a per-project authentication token, or authenticate with your API token.) If you see this page, it may be because a plugin offered a GET link; file a bug report for that plugin.

网址,大概是GET:

http://jenkins:xxxx/job/jobname/build?delay=47212sec

这是Jenkins 2.2和Schedule Build Plugin 0.3.4

我现在可以使用我的jenkins 2.7.4和从源代码构建的Schedule Build Plugin。

解决方案: 使用最新的jenkins并等待新版本的插件(>
0.3.4)。。。(或从源代码构建)。该插件上已经存在一个关于GET问题的错误,并且已修复源代码,但尚未发布最新版本。2016年9月26日:https : //issues.jenkins-
ci.org/browse/JENKINS-28961 从源代码构建schedule_build.hpi可以正常工作。对于jenkins
2.2,如果在jenkins中禁用了CSRF保护,则可以正常工作。

2020-07-25