【问题标题】:Travis CI - Run deploy step (PyPI) as sudo?Travis CI - 以 sudo 运行部署步骤(PyPI)?
【发布时间】:2016-08-03 18:44:52
【问题描述】:

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

script:
- sudo tox

但是,这会使 egg-info 文件和其他文件归 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 身份运行部署步骤,或者以其他方式解决此问题?

【问题讨论】:

  • 试试sudo -E-H 或两者兼而有之

标签: python travis-ci pypi


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2019-10-08
    • 2018-09-07
    • 2018-12-07
    • 2019-07-03
    • 2018-03-05
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多