Travis CI-作为sudo运行部署步骤(PyPI)



我有一个使用tox的Python项目。有些单元测试需要sudo,所以.travis.yml有

script:
- sudo tox

但是,这会使egg信息文件和其他文件归root所有。因此,当Travis(作为用户)运行部署步骤时,它会给出以下输出:

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身份运行部署步骤,或者以其他方式解决这个问题?

不确定tox本身是否可以应用一些智能,但您可以使用以下行的脚本启动deploy阶段:

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

这将当前目录中的所有文件设置为当前用户和当前用户的主组。

最新更新