如何使用Setuptools构建软件包并部署到私有存储库而又不泄漏密码或对密码进行硬编码

时间:2019-05-20 02:24:41

标签: python setuptools distutils

我正在尝试使用Setuptools构建Python软件包并将其部署到私有PyPI存储库,而不会泄漏CI日志中的回购密码。我可以访问环境变量中存储库的用户名和密码。可以将构建好的包推送到私人仓库中

python -m twine upload --username $USERNAME --password $PASSWORD --repository-url my-repo.com/pypi/ dist/*

我想要类似的东西来配置setuptools进行的easy_install调用以获取test_requires。例如。我想说

python setup.py test --username <username> --password <password> --repository-url my-repo.com/pypi/

深入研究setuptools文档,easy_install文档和distutils源代码后,我想到的最好的方法是使用setopt将仓库URL添加到setup.cfg,然后再运行以下测试:

python setup.py setopt --command=easy_install --option=index-url --set-value=https://${username}:${password}@my-repo.com/pypi/simple/
python setup.py test

它可以工作,但是我不喜欢它,因为distutils输出显示URL并泄漏CI日志中的passowrd。有没有更好的方法可以做到这一点?

0 个答案:

没有答案