16.4. 从 Git 存储库同步 Puppet 模块
Red Hat Satellite 6 包括一个称为 pulp-puppet-module-builder 的实用程序,您可以从 pulp-puppet-tools RPM 在其他系统上安装。此工具会签出 Git 存储库,构建所有模块,并将其发布到 Satellite 6 可以同步的结构中。一种常见方法是在卫星服务器本身上运行 实用程序,发布到本地目录,然后与该目录同步。例如:
# mkdir /modules
# chmod 755 /modules
# pulp-puppet-module-builder \
--output-dir=/modules \
--url=git@mygitserver.com:mymodules.git \
--branch=develop
本例从 git@mygitserver.com:mymodules.git 中签出 Git 存储库的开发分支,并将其发布到 /modules。将此目录添加为 Satellite 服务器上新存储库的 URL (file:///modules)。
在远程 HTTP 服务器上发布 Puppet 模块
相同的流程也适用于在远程 HTTP 服务器上发布模块。例如,如果您使用 webserver.example.com 作为标准 Web 主机发布 Puppet 模块。
# mkdir /var/www/html/modules/
# chmod 755 /var/www/html/modules/
# pulp-puppet-module-builder \
--output-dir=/var/www/html/modules/ \
--url=git@mygitserver.com:mymodules.git \
--branch=develop
在 Satellite 服务器中,将存储库的 URL 设置为 http://webserver.example.com/modules/。
使用 Web UI 从 Git 存储库同步 Puppet 模块
使用以下步骤从 Git 存储库同步 Puppet 模块。
流程
- 创建自定义产品,再单击 Create Repository。
- 从 Type 列表中,选择 puppet。
-
在 URL 字段中,输入外部 Git 存储库的 URL,以以下格式输入用作源的 URL:
file:///modules。
对于 CLI 用户
创建 Puppet Forge 存储库:
# hammer repository create \ --name "Modules from Git" \ --content-type "puppet" \ --product "MyProduct" \ --organization "My_Organization" \ --url file:///modules