Eri*_*sum 17 jenkins jenkins-plugins
我有一个詹金斯的工作.我想在一个特定的时间用build参数构建我的工作.
我想通过使用该Build periodically选项来做到这一点.
我有这样的输入:
*/1 * * * * Parameter1
Run Code Online (Sandbox Code Playgroud)
如果我这样做,jenkins会显示错误.
这可能不使用任何插件.
如果不是,那么哪个插件会更好
或者有没有办法在时间表中给出参数?
我的实际要求是这样的:
build in morning using one parameter
build in evening using another parameter.
Run Code Online (Sandbox Code Playgroud)
小智 15
基本上,使用Build periodic选项,您无法使用参数计划Jenkins作业.
但是,要在需要使用不同环境的不同时间安排作业,您必须使用上面提到的参数化调度程序插件https://github.com/jwmach1/parameterized-scheduler或搜索(管理Jenkins - >管理插件 - >参数化调度程序).因此,
#Parameter1
H/15 * * * * %Parameter1
#Parameter2
H/30 * * * * %Parameter2
请记住,您必须设置参数,因为插件仅对具有参数的作业可见.
Node和Label参数插件可以提供帮助,因为它允许您选择单个节点,假设已经配置了不同的服务器qa1和qa2.希望能为您澄清一些事情.
使用原生的Jenkins crontab,这是不可能的.
但是应该可以使用这个插件:https: //github.com/jwmach1/parameterized-scheduler
您必须分叉repo并构建此插件+进行手动安装.
本教程解释了如何构建自定义插件:https: //wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial
(设置环境+构建插件)
小智 5
也许不完全是你想要的,但这是我发现的一个有趣的技巧,所以我决定分享。您可以根据环境以编程方式设置 Jenkins 作业的参数。
# check if job was trigered by timer
if [ $(env | grep -E '^BUILD_CAUSE=TIMERTRIGGER$') ] ; then
# your logic here, utilise the power of bash
if [ $(date +"%H") -eq 16 ] ; then PARAM=VALUE_1 ; fi
if [ $(date +"%H") -eq 17 ] ; then PARAM=VALUE_2 ; fi
fi
Run Code Online (Sandbox Code Playgroud)