2016-04-12 23 views
0

我有一個使用tox的Python項目。有些單元測試需要sudo,所以.travis.yml有Travis CI - 運行部署步驟(PyPI)爲sudo?

script: 
- sudo tox 

但是,這留下了egg-info文件和其他人擁有的根。所以,當特拉維斯運行部署階段(用戶),它提供了以下的輸出:

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/*' 

我怎樣才能運行部署的步驟以root身份,或以其他方式解決這個問題?

+0

試試'sudo -E'或'-H'或兩者 –

回答

1

不知道是否可以用tox本身應用一些機靈,但你可以用大意如下腳本啓動deploy階段:

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

這將在當前目錄中的所有文件當前用戶,以及當前用戶的主要組。