2012-06-22 8 views

risposta

48

Molto facilmente fatto con il plugin Post build task.

Jenkins - "Post build task" option

+36

Suggerirei il [plugin PostBuildScript] (https://wiki.jenkins-ci.org/display/JENKINS/PostBuildScript+Plugin) invece di eseguire semplicemente uno script. È più semplice e più robusto se non è necessario condizionare l'output del registro. Ad esempio, consente di eseguire qualsiasi passo di costruzione nelle azioni post-creazione. – Sampo

+8

Si noti inoltre che il plug-in Post Build Task mette l'intero output della console in memoria per eseguire il test condizionale ... che può richiedere molta memoria se centinaia di lavori producono molto output ... Il nostro jenkins master è appena andato in crash a causa di questo plug-in ... – grayaii

+1

Il plug-in PostBuildScript è stato sospeso. – Upen

0

Dovresti impostare lo script di shell post-compilazione come lavoro Jenkins separato e attivarlo come passaggio post-build. Sembra che sarà necessario utilizzare lo Parameterized Trigger Plugin poiché l'opzione standard "Crea altri progetti" funziona solo se la build di attivazione ha esito positivo.

+0

come posso attivare lo script se la generazione non riesce basato esclusivamente su entrambi script di shell eseguibile che ho sotto i miei compiti di lavoro? Grazie – kforkarim

+0

Pensando a questo, potrebbe essere più facile controllarlo nello script di compilazione stesso. Che struttura di costruzione stai usando? –

+0

Utilizzare lo script di shell per creare il framework iOS – kforkarim

3

Se sto leggendo correttamente la tua domanda, vuoi eseguire uno script nella parte delle azioni post build del build.

Io stesso uso PostBuildScript Plugin per l'esecuzione di git clean -fxd dopo che la build ha archiviato artefatti e risultati dei test pubblicati. I miei schiavi Jenkins hanno dischi SSD, quindi non ho la stanza per mantenere i file generati nello spazio di lavoro.

2

Si dovrebbe essere in grado di farlo con il Batch Task plugin.

  1. Creare un'attività batch nel progetto.
  2. Aggiungere un'opzione di post-generazione "Richiama operazioni in batch" selezionando lo stesso progetto.

Un'alternativa può anche essere il plug-in Post build task.

9

È inoltre possibile eseguire comandi arbitrari utilizzando lo Groovy Post Build - e questo vi darà un grande controllo su quando corrono e così via. Lo usiamo per eseguire uno script di shell 'finger of blame' nel caso di build fallite o instabili.

if (manager.build.result.isWorseThan(hudson.model.Result.SUCCESS)) { 
    item = hudson.model.Hudson.instance.getItem("PROJECTNAMEHERE") 
    lastStableBuild = item.getLastStableBuild() 
    lastStableDate = lastStableBuild.getTime() 
    formattedLastStableDate = lastStableDate.format("MM/dd/yyyy h:mm:ss a") 
    now = new Date() 
    formattedNow = now.format("MM/dd/yyyy h:mm:ss a") 
    command = ['/appframe/jenkins/appframework/fob.ksh', "${formattedLastStableDate}", "${formattedNow}"] 
    manager.listener.logger.println "FOB Command: ${command}" 
    manager.listener.logger.println command.execute().text 
} 

(Il nostro comando prende l'ultima data build stabile e l'ora corrente come parametri in modo che possa andare indagare che potrebbe aver rotto la build, ma è possibile eseguire qualunque comandi che ti piace in un modo simile)

Problemi correlati