2016-04-21 4 views
1

Ich versuche, dieses Skript von Jenkins ausführen:Ich kann nicht Pakete mit PIP von Jenkins und virtualenv installieren

#!/bin/sh 
source /home/user/venv/venv3/bin/activate 
cd /home/user/project/ 
pip install -r requeriments.txt  
python manage.py migrate    
python manage.py collectstatic --noinput 

Aber ich halte mit Fehlern Paket mit pip Installation:

error: could not create '/home/user/venv/venv3/lib/python3.4/site-packages/markdown': Permission denied 

I Ich habe den virtualenv mit meinem Benutzer (nicht sudo) und python3 erstellt.

+2

Wird jenkins als Benutzer ausgeführt? – garnertb

+0

Nein, ich kann das Skript als mein Benutzer von Jenkins ausführen ?, Entschuldigung, ich bin immer noch ein Noob in Jenkins :) – mrcaste

Antwort

0

Jenkins läuft als Benutzer "jenkins". Dieser Benutzer hat fast sicher keinen Schreibzugriff auf die Verzeichnisse Ihres Benutzers. Sie müssten das Verzeichnis virtualenv und project in jenkins eigenen home dir (/var/lib/jenkins) erstellen.

Um es zu debuggen, könnten Sie das Skript als jenkins-Benutzer von Hand ausführen. Also nicht von innerhalb Jenkins, sondern auf der Kommandozeile nach sudo su jenkins. Sie werden den gleichen Fehler sehen.