使用vagrant的Puppet模块开发人员工作流程

时间:2015-09-22 18:57:06

标签: vagrant puppet provisioning

我目前正在为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

我的设置如下:

  1. 我选择了puphpet.com的基本配置
  2. 在本地配置了vagrant实例
  3. 将新模块添加到modules文件夹并处理该模块。
  4. 开发速度变慢的原因是我每次都必须运行完整配置才能看到我的模块的更改如何与vagrant provision --provision-with puppet一起使用。或者我可以从我的模块运行简单的指令,如puppet apply <path-to-simple-pp-file>

    但这看起来没有效果,我只想调用与我的模块相关的部分配置,即只调用申请我的模块。有没有办法做到这一点? 它看起来很明显,没有在任何地方提到,或者我不知道应该搜索什么。

    我的问题是:如何在当前puppet配置中可用的所有其他模块中重新运行单个模块的应用程序/配置。

    更新 我没有使用客户端/服务器木偶,或者至少我认为我没有使用它。而不是去使用。计划是使用vagrant + puppet配置实例,但没有任何远程木偶服务器。

    UPDATE2: 这是我的木偶模块列表

    #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
    

1 个答案:

答案 0 :(得分:1)

假设您安装了模块,如:

  • 的/ etc /木偶/模块/阿帕奇/舱单...
  • 的/ etc /木偶/模块/ JAVA /舱单...
  • 的/ etc /木偶/模块/ mycustommodule /舱单...

您可以使用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"