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?
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:
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.
Tags und Links jenkins continuous-integration pip