如何使用puppet module install命令从本地repo安装puppet文件

3

关于这个问题,还有一个相关的问题。

puppet module install工具是否有一种方式可以从本地已经下载到磁盘的仓库中安装?

4个回答

5
你可以使用Puppet Library来托管自己的私有Puppet Forge。它支持从磁盘提供模块,并代理远程Forge。

启动服务器,将其指向已下载的模块即可。

puppet-library --module-dir /my/downloaded/modules --port 8888

将以下内容添加到puppet.conf中,以指向您的本地模块库:
[main]
module_repository=http://localhost:8080/

当你运行 puppet module install 命令时,模块将从本地资源库安装。如果你使用的是 librarian-puppet,也可以将 Puppetfile 指向本地 forge。

3
很抱歉不能。您可以阅读puppet module面的手册页面这里。虽然在安装模块时似乎有指定私有铸造厂的选项,但Puppetlabs的Forge API不是公开的,并且Puppetlabs本身不支持除其Forge之外的任何公共或私有应用程序来构建私有存储库。
作为替代方案,您可以尝试使用librarian-puppet: https://github.com/rodjek/librarian-puppet。它允许您在Puppetfile中指定模块依赖项,还允许指定Git存储库作为源(因此您也可以安装不在Forge中的模块)。

感谢@stefano-zanella,我也转向了librarian-puppet作为解决方案。现在正在尝试在主要的puppet脚本之前将其作为shell脚本运行。 - alonisser

2
这并没有直接回答问题,但是你可以从本地文件中安装Puppet模块,而不是使用本地仓库。如果这只是一次性的操作,这样可以节省设置额外工具的时间。
puppet module install ~/puppetlabs-apt-2.0.1.tar.gz --ignore-dependencies --force

这些模块可以直接从 Puppet Forge 下载并保存到本地存储。

如果模块有未安装的依赖项,则需要使用 ignore-dependencies 选项。


1

JFrog链接与Pulp链接相同。如果您链接的产品是您自己的产品,请确保披露关联关系。 - Jean-François Fabre
简单的错误。除了我之前使用过Artifactory之外,没有其他关联。只是友好地提醒大家要保持良好的信任 :) 我已经更新了Artifactory的链接。 - David
我相信这是善意的,但有人标记了这个答案为垃圾邮件,所以可能会再次发生。已经编辑过了。 - Jean-François Fabre

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接