我有一個觸發攝取(在 Postgres 表中)作業的 Jenkins Job TriggerIngestion。每當需要對 Postgres 表進行插入/更新時,都會遠程觸發此 TriggerIngestion 作業。
我需要更新/插入是連續的。因此,在任何作業失敗時,我都需要暫停構建佇列中的其余作業觸發器。解決故障后,我應該能夠從構建佇列的頂部恢復。
這不應影響在同一 Jenkins 實體上運行的其他作業。請幫我解決這個問題。
uj5u.com熱心網友回復:
由于您需要順序執行,我假設您已禁用并行作業執行。如果是這種情況,實作此目的的最簡單方法是不結束初始作業。您可以簡單地繼續重試直到作業成功,因此連續的作業將永遠不會啟動并保留在佇列中。例如,請參考以下內容。
pipeline {
agent any
stages {
stage('Hello') {
steps {
script {
executeSomething()
}
}
}
}
}
def executeSomething() {
def flag = true
while(flag) {
try {
//Add to Postgres
if success => flag = false
} catch(Exception e) {
// Catching All errors
}
}
}
您必須為上述作業提出退出條件。我不認為你想永遠重試。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/497293.html
