pulp项目的gemfile插件
pulp-gem的Python项目详细描述
pulp_gem插件
这是Pulp Project 3.0+的pulp_gem插件。此插件添加导入程序和分发程序 对于红宝石。
下面的所有rest api示例都使用httpie来执行请求。 下面的httpie命令假定执行这些命令的用户有一个.netrc文件 在主目录中。.netrc应该具有以下配置:
machine localhost login admin password admin
如果使用不同的密码配置admin用户,请调整配置 因此。如果您希望在每个请求中指定用户名和密码,请参见 httpie关于如何做到这一点的文档
本文档使用jq library 解析从请求接收到的json,以便获得生成的唯一url 当创建对象时。要按原样遵循此文档,请安装JQ 库中包含:
$ sudo dnf install jq
安装pulpcore
跟随installation instructions 配有纸浆芯
从源
安装pulp-gem。- sudo-u pulp-i
- source~/pulpvenv/bin/激活
- git克隆https://github.com/ATIX-AG/pulp_gem
- cd纸浆宝石
- python setup.py开发
- 纸浆经理制作纸浆宝石
- 纸浆管理器迁移纸浆
- Django管理运行服务器
- gunicorn pulpcore.content:server-bind'localhost:8080'-工人类'aiohttp.gunicornwebworker'-w 2
- sudo systemctl restart pulp_resource_manager
- sudo systemctl restart pulp_worker@1
- sudo systemctl重启纸浆工人@2
从pypi
安装pulp-gem。- sudo-u pulp-i
- source~/pulpvenv/bin/激活
- pip安装纸浆宝石
- 纸浆经理制作纸浆宝石
- 纸浆管理器迁移纸浆
- Django管理运行服务器
- gunicorn pulpcore.content:server-bind'localhost:8080'-工人类'aiohttp.gunicornwebworker'-w 2
- sudo systemctl restart pulp_resource_manager
- sudo systemctl restart pulp_worker@1
- sudo systemctl重启纸浆工人@2
创建存储库foo
$ http POST http://localhost:8000/pulp/api/v3/repositories/ name=foo
{"_href":"/pulp/api/v3/repositories/1/","...":"..."}
$ export REPO_HREF=$(http :8000/pulp/api/v3/repositories/ | jq -r '.results[] | select(.name == "foo") | ._href')
添加遥控器
$ http POST http://localhost:8000/pulp/api/v3/remotes/gem/name='bar'url='https://rubygems.org/'policy='streamed'
{"_href":"/pulp/api/v3/remotes/gem/1/","...":"..."}
$ export REMOTE_HREF=$(http :8000/pulp/api/v3/remotes/gem/ | jq -r '.results[] | select(.name == "bar") | ._href')
使用远程bar
同步存储库foo。$ http POST ':8000'${REMOTE_HREF}'sync/'repository=$REPO_HREF
上传foo-0.0.1.gem到pulp
通过将gemfile上传到pulp创建工件。
$ http --form POST http://localhost:8000/pulp/api/v3/artifacts/file@./foo-0.0.1.gem
{"_href":"/pulp/api/v3/artifacts/1/","...":"..."}
您需要以同样的方式上传相应的foo-0.0.1.gemspec.rz。
从工件创建gem内容
$ http POST http://localhost:8000/pulp/api/v3/content/gem/gems/artifact="/pulp/api/v3/artifacts/1/"
{"_href":"/pulp/api/v3/content/gem/gems/1/","artifacts":{"gems/foo-0.0.1.gem":"/pulp/api/v3/artifacts/1/","quick/Marshal.4.8/foo-0.0.1.gemspec.rz":"/pulp/api/v3/artifacts/2/"},"name":"foo","notes":{},"type":"gem","version":"0.0.1"}
$ export CONTENT_HREF=$(http :8000/pulp/api/v3/content/gem/gems/ | jq -r '.results[] | select(.name == "foo") | ._href')