2016-06-07 65 views
1

我正在开始为Puppet编写模块。木偶的official documentation for writing modules提出以下建议:如何在本地PC上安装“Puppet模块工具”?

自己写的一个模块,我们强烈建议运行puppet module generate <USERNAME>-<MODULE NAME>

当你运行上面的命令,木偶模块工具(PMT)会询问一系列问题,以收集的元数据你的模块,并为你创建一个基本的模块结构。

不幸的是,我似乎没有在我的本地PC上安装Puppet模块工具,并且Puppet的文档在如何安装它时不太清楚。

instructions on how to set up a Puppet master and Puppet agents

运行的木偶服务器的计算机被称为按照这些说明安装和配置木偶服务器“主人”。

运行Puppet代理的计算机称为“Puppet代理”或简称为“代理”。 Puppet代理定期从主服务器提取配置目录并将其应用到本地系统。

但乍一看,我的电脑似乎不适合这两类之一。我没有使用Puppet来配置我的本地PC,也没有使用我的本地PC作为服务器来管理我的基础设施。我只是想在本地机器上使用Puppet CLI来生成一个模块。

我也发现a GitHub repo for the Puppet module tool,但自述文件指出独立工具已被弃用,因为它现在内置在Puppet中。

我需要安装什么才能在我的机器上使用Puppet模块工具?有没有一个Puppet SDK的某处,我不知何故失踪?

回答

4

通常人们用bundler来拉入Puppet及其依赖;然后从你的包中运行Puppet。

的先决条件,你需要:

  • 红宝石
  • 红宝石宝石

然后

$ gem install bundler 

在你的项目目录:

$ vim Gemfile 
source 'https://rubygems.org' 
gem 'puppet' 

$ bundle install 

现在你可以运行:

$ bundle exec puppet module generate <USERNAME>-<MODULE NAME> 
+0

嗯,这很有趣。我甚至不知道木偶是一颗宝石。这在文档中没有提及;这些页面都讲述了安装OS级别的包(至少对于Puppet 4来说)。你确定这种方法仍然正式支持? – Ajedi32

+2

我实际上忘了puppet甚至可以通过gem安装,直到他们的一位主管最近在公关中提到它时,我问为什么ruby <2.1在他们头上的Travis。使用Puppetlabs回购库中的os包安装puppet是复杂的木偶使用案例的首选方法,尤其是因为所有内容都随之而来,包括他们期望您使用的ruby版本(现在可能是2.2,但可能仍然是2.1)。所有这些话,如果你在做简单的傀儡,那么亚历克斯的解决方案不仅有效,而且更可取。 –

+0

工程很棒。此外,它看起来像“puppet module generate”创建一个Gemfile作为模块的一部分,因此它仍然支持“puppet”作为依赖项。 – Ajedi32