在jenkins中的特定时间运行参数化作业
我有一个参数化作业,我想安排它在特定时间运行。无论如何,我都可以选择我的参数并安排它运行在jenkins中的特定时间运行参数化作业,jenkins,hudson,jenkins-plugins,hudson-plugins,Jenkins,Hudson,Jenkins Plugins,Hudson Plugins,我有一个参数化作业,我想安排它在特定时间运行。无论如何,我都可以选择我的参数并安排它运行 提前感谢当使用构建触发器启动构建时,无法传递参数。由于作业已参数化,自动启动作业将使用默认参数运行 如果这足够好,那么您只需通过作业配置页面的“构建触发器”部分设置希望它运行的计划,然后选择“定期构建”复选框并添加适当的值(使用cron语法)。让默认参数生效 但是,您可以将其作为触发器发送给jenkins,并传递所需的精确值。然后,您必须直接使用CRON来实现这一点,并可能使用shell脚本,以便可以设置p
提前感谢当使用构建触发器启动构建时,无法传递参数。由于作业已参数化,自动启动作业将使用默认参数运行 如果这足够好,那么您只需通过作业配置页面的“构建触发器”部分设置希望它运行的计划,然后选择“定期构建”复选框并添加适当的值(使用cron语法)。让默认参数生效 但是,您可以将其作为触发器发送给jenkins,并传递所需的精确值。然后,您必须直接使用CRON来实现这一点,并可能使用shell脚本,以便可以设置param值 比如说,
至少有两种方法可以解决这个问题,
但您必须提前知道所需的值:
- 将作业的默认值设置为所需值,
然后安排它随时运行 - 而不是安排参数化作业,
创建另一个作业,该作业将触发
传递相关作业时的参数化作业
参数的值
(这也允许您启动目标作业
使用不同的值集)
- 将作业设置为从配置文件读取参数值
(通过),然后更新该配置文件的内容
在运行作业之前
因为有更好的方法可以自动启动带有参数的Jenkins作业。在Gonen的答案的基础上,您可以使用使自己更轻松。安装后,创建新作业并将类型设置为“Build Flow”。将此作业配置为在所需的计划时间运行。在此作业的“使用流DSL定义生成流”部分中,指定要生成的作业:
build( "Job You Want Built", param1:"whatever", Param2:"whatever")
您可以通过添加更多行来指定要生成的更多作业,或者重复同一行并更改参数以使用不同的参数多次生成作业
完成后,构建流作业将在计划的时间运行,并使用指定的参数启动所需的作业。Jenkins crontab允许计划作业在特定时间运行,但不允许传递参数 但是,需要将其扩展到传递参数。一旦可用,它将让你做你想做的事,而不需要像其他一些答案所建议的那样创造额外的詹金斯工作 如果这项功能对您有帮助,您可以投票决定将其包含在Jenkins中。您可以使用 它允许您在cron计划之后指定参数,例如:
H(0-29)/10 * * * * % name=value; othername=othervalue
%后面的名称-值对被解释为参数。可以手动设置参数化作业的参数值一次,这些值将在后续计划运行中重新使用 为此,您需要为参数定义一个默认值,如下所示:
parameters {
string(name: 'testUserName', defaultValue: params.testUserName ?: 'defaultTestUser')
}
查看我的详细答案Hey@gonen,这可能很愚蠢,但我们如何“设置作业的默认值”?@Maulzey,Jenkins作业中的每个参数都有一个默认值-文本字段的内容、复选框的状态(设置或取消设置)、dropbox的第一项等等。如果不确定,默认值是您选择“立即生成”时看到的值。TY!整理好了,汉克斯。我不得不使用额外的作业,该作业使用参数调用另一个作业,因为我的作业更通用,可以处理多个分支和环境,但是这正在增加我已经拥有的作业数量。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-@删减我链接到的功能将实现作者希望实现的功能,因此我认为其他人知道它的存在是有帮助和相关的。我已将我的答覆重新措辞,使这一点更为清楚,其中最重要的一句是“一旦实施”。是的,这是有帮助的和相关的:作为一个评论,我会投赞成票。票子关闭时是固定的,参考的是中提出的解决方案。