2016-04-12 13 views
0

Ich habe ein Python-Projekt, das tox verwendet. Einige Unit-Tests erfordern sudo, so .travis.yml hatTravis CI - Ausführen von Deploy-Schritt (PyPI) als Sudo?

script: 
- sudo tox 

Dies ist jedoch verlässt das Ei-Info-Datei und andere im Besitz von Root. Also, wenn Travis den deploy Schritt läuft (als Benutzer), gibt es die folgende Ausgabe:

Deploying application 
running sdist 
running egg_info 
writing requirements to myproject.egg-info/requires.txt 
error: [Errno 13] Permission denied: 'myproject.egg-info/requires.txt' 
ValueError: Cannot find file (or expand pattern): 'dist/*' 

Wie kann ich den deploy Schritt als root ausführen, oder auf andere Weise, um dieses Problem zu bekommen?

+0

Versuchen Sie 'sudo -E oder' -H' oder beide –

Antwort

1

Nicht sicher, ob einige Schlauheit kann sich mit tox angewendet werden, aber Sie könnten Ihre deploy Bühne mit einem Skript entlang der folgenden Zeilen beginnen:

- sudo chown --changes --recursive $(whoami):$(id --group $(whoami)) . 

Dies setzt alle Dateien im aktuellen Verzeichnis der aktueller Benutzer und die Hauptgruppe des aktuellen Benutzers.