2013-06-17 6 views
5

Ho un problema con l'esecuzione di script bash come lavoro in Jenkins (Esegui passo shell). Fondamentalmente ho ristretto il mio script per essere una riga ora per testare perché Jenkins non riesce a eseguirlo. Eccolo:Jenkins Nessun errore di file o directory. Ma il file esiste

waxsim 

Quindi è solo una riga. Questo dovrebbe darmi questo risultato quando è eseguito senza parametri:

No app-path was specified! 
usage: waxsim [options] app-path 
example: waxsim -s 2.2 /path/to/app.app 
Available options are: 
    -s sdk Version number of sdk to use (-s 3.1) 
    -f family Device to use (-f ipad) 
    -e VAR=value Environment variable to set (-e CFFIXED_HOME=/tmp/iphonehome) 
    -a Available SDKs 
    -v path Output video recording at path 
    -h Prints out this wonderful documentation! 

Jenkins gira come utente jenkins. Quando il lavoro è stato eseguito non riesce con:

+ waxsim 
/var/folders/gx/t63prwt53w7gr2jjt9k66q9800009c/T/hudson4478539334800834890.sh: 
line 3: waxsim: No such file or directory 
Build step 'Execute shell' marked build as failure 

Quando eseguo waxsim manualmente, registrati come utente Jenkins, tutto funziona bene. Funziona per ogni utente sulla macchina. Non funziona solo se eseguito nel lavoro di Jenkins. Qualcuno sa quale potrebbe essere il problema?

Ho provato a specificare il percorso completo a waxsim, che è: /usr/bin/waxsim ma non fa alcuna differenza.

Grazie!

risposta

3

Il motivo per cui funziona quando è in esecuzione nel terminale e non quando è gestito da Jenkins si è rivelato essere banale.

Nel terminale eseguo bash e Jenkins utilizza shell. Pertanto, l'aggiunta dell'esportazione del PATH allo script shell eseguito da Jenkins ha risolto il problema.

+13

Cosa intendi con ** aggiungendo l'esportazione del PERCORSO al Jenkins '**? –

Problemi correlati