我有詹金斯参数化的工作,我想安排每晚,每天早上和每周。 它基本上是一个启动/关闭环境工作,它在夜间关闭环境并在早上启动,周末是不同的时间表。那么如何在不创建三个独立工作的情况下实现这一目标
我需要在不同时间建立这项工作1)每个(MON-FRI)工作日早上7点START环境2)每个(MON-FRI)工作日晚上8点晚上停止环境
答案 0 :(得分:1)
默认情况下,Jenkins无法执行您想要的操作,但参数化计划程序插件会添加您需要的功能。它允许您为每个计划指定具有自定义参数值的多个计划,如下所示:
#lets run against the integration environment at 15 past the hour
15 * * * * % env=int
#run QA too
30 * * * % env=qa
答案 1 :(得分:0)
可以告诉您如何避免为您的要求创建多个作业。
首先,您需要使用构建计划在上午7点和晚上8点触发您的工作
使用以下脚本
下面的脚本将检查您是在早上或晚上,工作日或周末运行,并根据时间启动/停止您的环境
如前所述,这只是一个可以帮助您接近的想法,您需要调整以下代码以满足您的确切要求
注意:用你的代码替换goto的开始和停止部分的echo部分来启动和停止环境
@echo off
echo Current Date and Time %date%-%time%
for /f %%a in ('date /t') do set "d=%%a"
set "t=%time:~0,2%"
if %t% GTR 12 goto Ni
if %t% LSS 12 goto Day
:Day
if %d% == Mon goto start
if %d% == Tue goto start
if %d% == Wed goto start
if %d% == Thu goto start
if %d% == Fri goto start
if %d% == Sat goto TBD
if %d% == Sun goto TBD
:Ni
if %d% == Mon goto stop
if %d% == Tue goto stop
if %d% == Wed goto stop
if %d% == Thu goto stop
if %d% == Fri goto stop
if %d% == Sat goto TBD
if %d% == Sun goto TBD
:start
echo start an application
goto last
:stop
echo stop an application
:last
echo last line