Kann Jenkins Build nicht ausführen - bundle: "Befehl nicht gefunden"

8

Ich versuche gerade, einen Jenkins Build für einige meiner Gurkenaufgaben zu erstellen. Alle meine Edelsteine ​​wurden mit dem Bundler installiert. Die Edelsteine ​​werden im Lieferantenordner gespeichert.

Wenn ich versuche, bundle install --deployment im Build-Schritt execute shell auszuführen, erhalte ich den folgenden Fehler:

%Vor%

Das macht mich verrückt! Es läuft auf meinem lokalen Rechner ohne Probleme. Warum kann Jenkins meine Edelsteine ​​nicht sehen?

Jede Hilfe wäre großartig!

Prost, Jon

    
Jonathan Chrisp 28.04.2012, 17:20
quelle

4 Antworten

10

Je nachdem, wie Sie Jenkins installiert haben, wird es möglicherweise als separater Benutzer ausgeführt, normalerweise als Benutzer jenkins . Wenn Sie bundle in einem nicht standardmäßigen Verzeichnis installiert haben, das nicht im Standard-PATH ist, wie /usr/local/bin , müssen Sie:

  • Fügen Sie /usr/local/bin dem PFAD des jenkins-Benutzers hinzu (überprüfen Sie ~ jenkins / .bashrc) oder
  • Konfigurieren Sie die PATH-Umgebungsvariable in der globalen Jenkins-Konfiguration (oder der Slave-Konfiguration, wenn Sie auf einem Slave aufbauen) oder
  • Ändern Sie das Buildskript so, dass es auf bundle verweist, indem Sie den vollständigen Pfadnamen verwenden.
sti 01.05.2012 18:05
quelle
2

Erste Dinge zu überprüfen:

  • Stellen Sie sicher, dass bundle auf dem Computer installiert ist, auf dem Jenkins ausgeführt wird.
  • Wenn es installiert ist, vergewissern Sie sich, dass es sich auf dem Pfad für den Benutzer befindet, unter dem Jenkins läuft

(Um Pfad / Umgebung zu verifizieren: fügen Sie den Shell-Build-Schritt ein, der env ausführt)

    
malenkiy_scot 28.04.2012 19:18
quelle
2

Wenn das Paket in /usr/local/bin/bundle installiert ist (mit which bundle ), können Sie einfach einen symbolischen Link zum Paket in /usr/bin like so hinzufügen:

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

    
Dan Herman 25.08.2016 13:59
quelle
-1

Sie können sehen, wo bundle installiert ist, indem Sie which bundle ausführen und von dort den Befehl bundle ausführen

    
Maged Makled 26.03.2017 02:43
quelle

Tags und Links