2012-04-28 14 views
8

Obecnie próbuję uruchomić kompilację Jenkinsa dla niektórych zadań związanych z ogórkiem. Wszystkie moje klejnoty zostały zainstalowane przy użyciu programu Bundler. Klejnoty są przechowywane w folderze producenta.Nie można uruchomić Jenkins Build - pakiet: "command not found"

Jednak gdy próbuję i uruchom bundle install --deployment na wykonanie powłoki etapu budowy, pojawia się następujący błąd:

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 

To doprowadza mnie do szału! Działa bez problemu na mojej lokalnej maszynie. Dlaczego Jenkins nie może zobaczyć moich klejnotów?

Każda pomoc będzie świetna!

Cheers, Jon

Odpowiedz

2

Pierwsze rzeczy do sprawdzenia:

  • Upewnij bundle jest zainstalowany na komputerze, na którym działa Jenkins.
  • Jeśli jest zainstalowany, upewnij się, że znajduje się na ścieżce dla użytkownika pod którą Jenkins biegnie

(Aby sprawdzić ścieżkę/Środowisko: wstaw shell etapu budowy, który działa env)

10

W zależności od sposobu zainstalowany Jenkins, może działać jako osobny użytkownik, zwykle jako użytkownik jenkins. Jeśli zainstalowano bundle w niestandardowym katalogu, który nie znajduje się w domyślnej ścieżce, jak /usr/local/bin, trzeba:

  • Dodaj /usr/local/bin na ścieżkę użytkownika jenkins Jenkins (check ~/.bashrc) lub
  • Skonfiguruj zmienną środowiskową PATH w globalnej konfiguracji Jenkins (lub konfigurację podrzędną, jeśli pracujesz na slave) lub
  • Zmodyfikuj skrypt budowania tak, aby odwoływał się do bundle, używając pełnej nazwy ścieżki.
+0

Witam, dodałem/bin/bash zamiast/usr/bin/bash było niedostępne. Używam centów. –

1

Jeśli pakiet jest zainstalowany w /usr/local/bin/bundle (to ustalić z which bundle) można po prostu dodać link symboliczny do zebrania w /usr/bin tak:

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

0

Można zobaczyć, gdzie jest bundle jest instalowany działając pod nr which bundle i uruchamiając komendę bundle stamtąd

Powiązane problemy