2012-04-28 2 views
8

Attualmente sto cercando di eseguire una build Jenkins per alcune delle mie attività cetriolo. Tutte le mie gemme sono state installate usando Bundler. Le gemme sono memorizzate nella cartella del venditore.Impossibile eseguire Jenkins Build - bundle: "comando non trovato"

Tuttavia, quando provo e faccio funzionare bundle install --deployment nella fase di compilazione eseguire shell, ottengo il seguente errore:

Started by user anonymous 
Building in workspace /Users/Shared/Jenkins/Home/jobs/cukes/workspace 
[workspace] $ /bin/sh -xe/var/folders/zz/zyxvpxvq6csfxvn_n0000004000001/T/hudson4461284045505361460.sh 
+ bundle install --deployment 
/var/folders/zz/zyxvpxvq6csfxvn_n0000004000001/T/hudson4461284045505361460.sh: line 2: bundle: command not found 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

Questo mi sta facendo impazzire! Funziona sulla mia macchina locale senza problemi. Perché Jenkins non può vedere le mie gemme?

Qualsiasi aiuto sarebbe fantastico!

Cheers, Jon

risposta

2

prime cose da verificare:

  • Assicurarsi bundle sia installato sulla macchina in cui viene eseguito Jenkins.
  • Se installato, assicurarsi che sia sulla strada per l'utente con cui Jenkins corre

(Per verificare il percorso/ambiente: inserire passaggio di generazione shell che gestisce env)

10

A seconda del modo in cui si installato Jenkins, potrebbe essere in esecuzione come utente separato, in genere come utente jenkins. Se avete installato bundle in una directory non standard, che non si trova nel percorso predefinito, come /usr/local/bin, è necessario:

  • Aggiungere /usr/local/bin al PATH dell'utente Jenkins (controllo ~ Jenkins/.bashrc) o
  • Configurare la variabile di ambiente PATH nella configurazione globale di Jenkins (o configurazione slave se la costruzione su uno slave) o
  • Modificare lo script di build per fare riferimento a bundle utilizzando un nome percorso completo.
+0

Ciao, ho aggiunto/bin/bash invece/usr/bin/bash non era disponibile. Sto usando Centos. –

1

Se bundle è installato in /usr/local/bin/bundle (determinare questo con which bundle) si può solo aggiungere un link simbolico a racchiudere in /usr/bin in questo modo:

ln -s /usr/local/bin/bundle /usr/bin/bundle

0

Si poteva vedere la bundle viene installato per in esecuzione which bundle ed eseguire il comando bundle da qui