我们有很多 jenkins 任务来处理一些与日期相关的数据,例如,每小时、每天的聚合。
所有这些都配置为定期运行,但原生 jenkins 无法使用动态参数自动触发定期作业,我们必须在执行时计算脚本内部所需的参数,例如在 bash 脚本代码中:
PREVHOUR=$(date --date="-1 hour" "+%Y-%m-%d %H")
我们还可以使用$BUILD_ID环境变量来获取构建开始时间。
问题是: 当所有的槽(工人)都忙时,詹金斯把这个工作放到 队列中。并且在触发后的下一个小时执行这样的任务时,参数计算会出错。
因此,我们找不到获取TRIGGER time的方法,而不是构建 start time。
当然,也有一些不方便的解决方案,例如:
- 在保留的机器上运行简单的定期作业,该作业通过带有参数的 url 触发其他作业
- 跟踪脚本上次运行时间的文件
我们试图找到适合我们需求的插件,并找到 了这个插件,但它只能在手动(UI“立即构建”点击)模式下工作。
Jenkins是否有任何插件可以在周期性触发时计算动态参数?
谢谢!