python - devpi 索引中的 toxresult_upload 权限
问题描述
我正在使用 Python devpi服务器,当我创建索引时,它会添加一个默认设置acl_toxresult_upload=:ANONYMOUS:
,但我无法找出它的含义。
当我在 Web 界面中查看索引时,它显示:
permissions
toxresult_upload
Special: ANONYMOUS
upload
Users: my-user
我用谷歌搜索了它,但找不到任何解释它的含义。我唯一能找到的是一个python 测试,表明它与上传测试有关,但我不确定这对 Pypi 索引意味着什么。
# anonymous may upload tests
assert with_user(permissionrequest, None).has_permission(
'toxresult_upload', StageACL(stage, False))
解决方案
devpi
支持tox
在客户端对上传的包运行测试。流程大致如下:
- 创建 dist(例如
python setup.py sdist
)。为了使测试工作,分发必须包含测试脚本和tox.ini
配置。 将 dist 上传到
devpi
,例如devpi upload --index hoefling/dev dist/mypkg-0.1.tar.gz
通过运行测试
devpi test --index hoefling/dev mypkg
这将从指定的索引下载 dist 并按照配置开始测试运行
tox.ini
。- 测试完成后,
devpi-client
会将测试结果上传到服务器,以便随时通过 Web UI 查看: 单击tests
链接时,您将进入显示测试运行概览的页面:
通过单击引用单独测试运行的链接,您可以详细检查测试运行日志。
现在,acl_toxresult_upload
类似于acl_upload
,是允许将测试结果上传到该索引的用户列表。acl_toxresult_upload=:ANONYMOUS:
意味着任何人都可以运行devpi test --index your_index yourpkg
和上传测试结果。如果要限制访问,请按照限制包上传访问的方式进行:
$ devpi index your_index acl_toxresult_upload=me,admin,ci-bot
推荐阅读
- c# - C# lambda 返回 System.Linq.Expressions.Expression 的问题
- reactjs - 当存在我不关心的依赖项时如何使用 useEffect?
- flutter - 如何通过流
值作为在 bloc 文件 FLUTTER 中创建的函数的参数 - ruby-on-rails - 从邮递员在rails中填充嵌套的json
- laravel - 为什么 laravel 中的 store() 会更改存储中的文件名?
- python-3.x - 为什么我得到字典键错误
- python - 当我的朋友尝试使用我的可执行文件时,如何避免“Windows 保护您的 PC”问题?
- android - 从 Service 访问 MemoryFile
- visual-studio-code - Git Bash for VS Code 中的退出命令
- c++ - 以 std::out_of_range 中止错误类型的未捕获异常终止