簡體   English   中英

每次使用不同的參數多次安排相同的 Jenkins 作業

[英]Schedule same Jenkins job multiple times each time with different parameters

我有一個 Jenkins 參數化工作,我想每晚、早上和每周安排一次。 它基本上是一個啟動/關閉環境作業,它在夜間關閉環境並在清晨啟動它,周末是不同的時間表。 那么我怎么能在不創建三個單獨的工作的情況下做到這一點呢?

我需要在不同的時間構建這項工作 1) 每個 (MON-FRI) 工作日早上 7 am START 環境 2) 每個 (MON-FRI) 工作日晚上 8 pm STOP 環境

默認情況下,Jenkins 無法執行您想要的操作,但參數化調度程序插件添加了您需要的功能。 它允許您為每個計划指定多個帶有自定義參數值的計划,如下所示:

#lets run against the integration environment at 15 past the hour
15 * * * * % env=int
#run QA too
30 * * * % env=qa

可以讓您了解如何避免根據您的要求創建多個工作。

  1. 首先,您需要使用構建計划在早上 7 點和晚上 8 點觸發您的工作

  2. 使用下面的腳本

下面的腳本將檢查您是在早上還是晚上、工作日還是周末運行,並根據時間啟動/停止您的環境

如前所述,這只是一個可以幫助您接近的想法,您需要調整以下代碼以滿足您的確切要求

注意:將 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM