使用 vagrant 的 Puppet 模块开发人员工作流程
Puppet module developer workflow with vagrant
我目前正在为 Puppet 开发自定义模块。
这是我的第一个 Puppet 模块,我在此处关注教程和文档
https://www.digitalocean.com/community/tutorials/getting-started-with-puppet-code-manifests-and-modules
https://docs.puppetlabs.com/guides/module_guides/bgtm.html
https://docs.puppetlabs.com/puppet/latest/reference/modules_fundamentals.html
https://docs.puppetlabs.com/guides/module_guides/bgtm.html
我的设置如下:
- 我从puphpet.com
中选择了基本配置
- 在本地使用 vagrant 配置实例
- 已将新模块添加到模块文件夹并处理该模块。
开发速度变慢的原因是我每次都必须 运行 进行完整配置,以查看对我的模块所做的更改如何与 vagrant provision --provision-with puppet
一起工作。或者我可以 运行 来自我的模块的简单指令,例如 puppet apply <path-to-simple-pp-file>
.
但这看起来并不有效,我想只调用与我的模块相关的部分配置,即只调用我的模块申请。有没有办法做到这一点?
它看起来太明显了,以至于在任何地方都没有提到它,或者我不知道应该搜索什么。
我的问题是: 如何重新 运行 application/provisioning 当前 puppet 配置中可用的所有其他模块中的一个模块。
更新:
我没有使用 client/server puppet,或者至少我认为我没有使用它。而且不会用。计划是使用 vagrant + puppet 配置实例,但没有任何远程 puppet 服务器。
更新2:
这是我的人偶模块列表
#ls -la /vagrant/puphpet/puppet/modules
apache
apt
beanstalkd
blackfire
composer
concat
elasticsearch
epel
erlang
firewall
git
inifile
java
LICENSE
locales
mailcatcher
mongodb
monitor
mysql
nginx
ntp
php
postgresql
puphpet
puppi
pyenv
rabbitmq
README.md
redis
rvm
solr
staging
stdlib
supervisord
swap_file
sw_mage_deploy *the one I'm working on*
sysctl
vcsrepo
yum
假设您安装了如下模块:
- /etc/puppet/module/apache/manifests...
- /etc/puppet/module/java/manifests...
- /etc/puppet/module/mycustommodule/manifests...
您可以使用 tags
到 运行 一个或多个模块:
sudo puppet agent --test --tags=mycustommodule
sudo puppet agent --test --tags=java,mycustommodule
要在本地 运行 puppet 并应用特定模块,您可以
sudo puppet apply --debug --verbose --trace --modulepath /etc/puppet/module -e "include mycustommodule"
我目前正在为 Puppet 开发自定义模块。 这是我的第一个 Puppet 模块,我在此处关注教程和文档
https://www.digitalocean.com/community/tutorials/getting-started-with-puppet-code-manifests-and-modules https://docs.puppetlabs.com/guides/module_guides/bgtm.html https://docs.puppetlabs.com/puppet/latest/reference/modules_fundamentals.html https://docs.puppetlabs.com/guides/module_guides/bgtm.html
我的设置如下:
- 我从puphpet.com 中选择了基本配置
- 在本地使用 vagrant 配置实例
- 已将新模块添加到模块文件夹并处理该模块。
开发速度变慢的原因是我每次都必须 运行 进行完整配置,以查看对我的模块所做的更改如何与 vagrant provision --provision-with puppet
一起工作。或者我可以 运行 来自我的模块的简单指令,例如 puppet apply <path-to-simple-pp-file>
.
但这看起来并不有效,我想只调用与我的模块相关的部分配置,即只调用我的模块申请。有没有办法做到这一点? 它看起来太明显了,以至于在任何地方都没有提到它,或者我不知道应该搜索什么。
我的问题是: 如何重新 运行 application/provisioning 当前 puppet 配置中可用的所有其他模块中的一个模块。
更新: 我没有使用 client/server puppet,或者至少我认为我没有使用它。而且不会用。计划是使用 vagrant + puppet 配置实例,但没有任何远程 puppet 服务器。
更新2: 这是我的人偶模块列表
#ls -la /vagrant/puphpet/puppet/modules
apache
apt
beanstalkd
blackfire
composer
concat
elasticsearch
epel
erlang
firewall
git
inifile
java
LICENSE
locales
mailcatcher
mongodb
monitor
mysql
nginx
ntp
php
postgresql
puphpet
puppi
pyenv
rabbitmq
README.md
redis
rvm
solr
staging
stdlib
supervisord
swap_file
sw_mage_deploy *the one I'm working on*
sysctl
vcsrepo
yum
假设您安装了如下模块:
- /etc/puppet/module/apache/manifests...
- /etc/puppet/module/java/manifests...
- /etc/puppet/module/mycustommodule/manifests...
您可以使用 tags
到 运行 一个或多个模块:
sudo puppet agent --test --tags=mycustommodule
sudo puppet agent --test --tags=java,mycustommodule
要在本地 运行 puppet 并应用特定模块,您可以
sudo puppet apply --debug --verbose --trace --modulepath /etc/puppet/module -e "include mycustommodule"