2015-12-22 13 views
5

Sto utilizzando la raccolta di plug-in Pipeline (in precedenza flusso di lavoro) per Jenkins. In qualche modo sono riuscito a creare un lavoro sul flusso di lavoro sul mio server Jenkins che non riesco a fermare. La ricerca delle tracce dello stack corrente con Thread.getAllStackTraces().keySet().each() { t -> println(t.getName())} non restituisce alcun esecutore nell'output corrispondente a questo lavoro. Inoltre, se questo è l'unico lavoro dal vivo nella finestra di stato dell'Executor Build, non ci sono affatto esecutori elencati.Come si rimuove un lavoro in pipeline inarrestabile in Jenkins?

Il riavvio dello slave su cui si stava eseguendo il processo non ha avuto alcun effetto. Anche il riavvio del server master Jenkins non ha avuto alcun effetto. Qualche idea su come potrei sbarazzarmi di questa cosa?

risposta

7

sono stato in grado di fermare il lavoro presentando una richiesta POST a: http://jenkins.fqdn:8080/job/$JobName/branch/$BranchName/8/term (Nota variabili del $ jobname e $ branchname)

Ho trovato questo URI nel modo seguente:

  1. Click sul numero accanto al lavoro per passare a quel lavoro esatto.
  2. Fare clic sul collegamento Output della console.
  3. Fare clic con il pulsante destro del mouse sul collegamento "Fare clic qui per interrompere forzatamente i passaggi in esecuzione".
  4. Fare clic sulla voce di menu Ispeziona. (Questo è in Chrome; regola questo passaggio per il browser preferito)
  5. Copia l'URI dall'interno della chiamata Ajax.Request. Es .: onclick="new Ajax.Request('http://jenkins.fqdn:8080/job/$JobName/branch/$BranchName/8/term'); false"

Per qualche ragione, cliccando sul link Click here to forcibly terminate running steps in realtà non interrompere il lavoro, ma la presentazione di una richiesta POST fatto manualmente. Sospetto che sia probabilmente solo un piccolo errore nel codice dell'interfaccia utente.

+0

Accettare la mia risposta personale dal momento che non ci sono stati altre risposte per un periodo di tempo significativo . – bshacklett

+0

Sì, difficile da trovare ... vorrei che ci fosse un modo per identificarli e ucciderli usando groovy - abbiamo scoperto 45 "vecchie build" in questo stato attraverso una mezza dozzina di lavori. –

1

Ho lo stesso problema oggi e il rimedio dal commento sopra non mi ha aiutato oltre a inviare il comando /kill anziché /term.

ho trovato working solution here:

  1. APERTO https://your.jenkins.fqdn/script
  2. PUT Jenkins.instance.getItemByFullName("jobName").getBuildByNumber(9).finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build"));
  3. premi "Avvia"