Wie kann ich jenkins "pip install" ausführen lassen?

8

Ich habe ein Git Repo und möchte jenkins klonen, dann laufe

%Vor%

Die Konsolenausgabe von jenkins lautet:

%Vor%

Ich habe versucht, Sudo vor dem Befehl hinzuzufügen, aber es funktioniert auch nicht:

%Vor%

Irgendwelche Ideen, wie man das umgehen kann? Auch wenn ich pip install -r requirement.txt in einem Terminal als jenkins-Benutzer benutze, benötigt es keine sudo-Berechtigung. Kann ich jenkins (den Prozess) als jenkins-Benutzer ausführen?

    
nickponline 09.02.2013, 15:43
quelle

2 Antworten

21

Die Tatsache, dass Sie sudo ausführen müssen, um pip auszuführen, ist eine große Warnung, dass Ihre virtuelle Umgebung nicht funktioniert. Die Build-Ausgabe zeigt, dass pip die Anforderungen in Ihrem System Site-Packages-Verzeichnis installiert. Dies ist nicht die Art, wie virtualenv funktioniert.

Ihr Build-Skript speichert die aktivierte virtuelle Umgebung nicht. Die vom Aktivierungsskript festgelegten Umgebungsvariablen werden in einem Child-Bash-Prozess festgelegt und nicht bis zum Build-Skript weitergegeben. Sie sollten das Script activate verwenden, anstatt eine separate Shell auszuführen:

%Vor%

Wenn Sie dies als einen Build-Schritt ausführen, sollte das funktionieren (und Ihre Pakete in venv installieren). Wenn Sie weitere Schritte hinzufügen möchten, müssen Sie die PATH-Umgebungsvariable in Ihren anderen Schritten festlegen. Sie sollten wahrscheinlich die vollständigen Pfade zu pip und python bereitstellen, um sicherzustellen, dass Sie nicht auf Systempaketinstallationen angewiesen sind.

    
Dave Bacher 11.02.2013 18:40
quelle
1

Ich stimme völlig zu, was gesagt wurde .... Aber um mehr "Jenkins" zu machen

Erstellen Sie ein einfaches Projekt - und führen Sie in den benutzerdefinierten Schritten so etwas durch

%Vor%

Danach können Sie dann Nasentests usw. machen ...

    
Tim Seed 05.04.2018 09:53
quelle