我已經創建了一個jenkins作業,它被參數化。參數即HH,MM,日期等。所以,這個版本是併發啓用的。我的想法是,只要這項工作是通過特定的HH,MM和DAY值觸發的,那麼此作業的子作業必須在特定時間安排。如何根據輸入參數計劃/觸發jenkins作業?
我認爲,Build Periodically對此不起作用。 參數化調度程序如何? 你能幫我解決一下可行嗎?
我已經創建了一個jenkins作業,它被參數化。參數即HH,MM,日期等。所以,這個版本是併發啓用的。我的想法是,只要這項工作是通過特定的HH,MM和DAY值觸發的,那麼此作業的子作業必須在特定時間安排。如何根據輸入參數計劃/觸發jenkins作業?
我認爲,Build Periodically對此不起作用。 參數化調度程序如何? 你能幫我解決一下可行嗎?
您可以使用hudson.model.Queue.schedule()方法嘗試使用Groovy腳本安排作業。
,我能想到的def job = hudson.model.Hudson.instance.getJob("myjob")
// You need a dummy parameter to avoid duplicate job cancellation
def now = System.currentTimeMillis()
def params = new StringParameterValue('DUMMY', String.valueOf(now))
def paramsAction = new ParametersAction(params)
def cause = new hudson.model.Cause.UpstreamCause(currentBuild)
def causeAction = new hudson.model.CauseAction(cause)
// Here you need to define the quiet period according to your paramters
def quietPeriod = 12345
def waitingItem = hudson.model.Hudson.instance.queue.schedule(job, quietPeriod, causeAction, paramsAction)
簡單的辦法是使用一些腳本或shell腳本來檢查特定的時間,如果指定條件滿足創建一個文件。
稍後,如果文件存在,則可以使用條件觸發器插件觸發其他作業注意:您可能必須在觸發作業後刪除文件。
https://wiki.jenkins-ci.org/display/JENKINS/Conditional+BuildStep+Plugin