windows – 手动应用puppet类
我正在测试一个类似于以下内容的puppet init.pp文件(在
Windows上):
class myclass { package { 'java': ensure => installed,provider => 'msi',source => 'S:puppet-repojdk1.6.0_31.msi',install_options => { 'INSTALLDIR' => 'C:toolsjava' },} } 然后我的site.pp文件看起来像: node default { include myclass } 我创建了一个只调用myclass模块的tests / init.pp文件: class { 'myclass': } 我可以运行tests / init.pp文件,它确实正确安装了java.我想知道是否有办法从命令行运行myclass模块而不创建单独的tests / init.pp文件.或者也许我可以将myclass中的package语句移动到它自己的.pp文件中,并将其包含在init.pp中,然后如果我愿意,我可以运行该单独的.pp文件.有什么更正确的方法呢?
首先,如果您还不知道,则需要验证语法的技巧:
puppet parser validate my_file.pp 现在,你如何对新类进行现场测试可能会因你的部署而有所不同,但我可以告诉你我是如何做到的,也许它会对你的情况有所帮助.或者也许ServerFault上的每个人都会告诉我我有多错. 在任何给定的环境中,我都有一组使用继承的节点声明: node base_production_environment { include ssh include ntp include whatever_else } node /prod-appd+.mycompany.com/ inherits base_production_environment { } 现在,当我编写一个新类时,我想在推出它之前先在特定系统上测试它,所以我添加一个更具体的(通过主机名)节点声明,以便它将覆盖不太具体(通过正则表达式)的声明,像这样: node 'prod-app7.mycompany.com' inherits base_production_environment { include my_new_class } 我对此进行了简化,以突出显示使用特定节点声明进行抽样检查新类.在将它们推广到生产之前,我们还使用environments将更改推广到不太关键的环境. 所以我只是重新阅读你的问题,我想到你可能正在使用推模块目录方法,而不是使用puppetmaster.如果这是真的,您可以包含一个用于测试目的的类,例如: puppet apply --modulepath=C:puppet-modules -e "include my_class" 不过,我不知道这是否是Windows下puppet的正确目录语法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows – powershell:改变当前会话的文化
- windows – 确定进程正常运行时间
- windows-server-2008 – 领域的技术定义是什么?
- 图标 – 在Windows资源管理器中显示exe的图标时,Windows如何
- windows-server-2003 – 如何安排任务在Windows Server 200
- windows – 如果在文件服务器上启用写缓冲区,我会冒多大的数
- windows – NHibernate.InstantiationException无法加载测试
- Win10 下不能正常使用Multilink解决办法
- 在Windows 7下从VB6运行activex dll
- windows-server-2012 – 如何在Windows Server 2012中更改颜