以一个示例,我的jboss-4.2.3安装程序作为.tar文件。通常要安装JBOSS,我会1.将jboss-4.2.3拆入预定义的文件夹(opt/server/jbossas/)中多个服务器2.将OpenJDK拆到一个优选的路径(/opt/opt/software/java)中设置bash.profile中的路径3.在安装JBOSS的地方创建服务器配置文件4.启动服务器。
可以说,我必须在16个节点(服务器)中进行此操作。现在,我应该将JBoss和OpenJDK安装程序存储在中心位置,应在开始第一步之前将其转移到节点。
我写了清单以执行要求表1到4。但是不确定如何从中央回购中自动化安装程序的传输。我不担心中央仓库的类型。它可以是FTP或Puppet或其他任何东西。
请帮助我。我正在通过Filebucket。这将有所帮助,还是我应该写一份清单以从FTP服务器获取此文件?
如何创建可以在木偶清单中引用的文件回购?
我不确定您的确切问题,但是您可以看一下这个想法...
在大多数用法中,文件都会从木偶转移到客户端。如果您在模块中定义了策略以解开并安装软件包,例如模块名称jboss,您可以将tarball保留在木偶大师中,并从木偶客户端运行木偶代理:
/etc/puppet/module/jboss/files/jboss_pkg.tar
您对客户的政策应该在以下方式中说以下内容:在例如,
/etc/puppet/modules/jboss/manifests/init.pp
class jboss {
file { '/tmp/installation/jboss_pkg.tar' :
source => "puppet:///modules/jboss/jboss_pkg.tar",
}
#You can then right a small script that will execute all the installation process. You can use 'exec' in puppet to do that.
exec { 'install_jboss' :
command => "/path/to/install_jboss.sh",
require => File["/tmp/installation/jboss_pkg.tar"],
onlyif => "/check/that/it/is/not/installed/already",
}
## and write other execs to start the server or enable services etc...
}
# In site.pp
node 'client.mytest.org' {
include jboss
}
为木偶提供安装程序的一般解决方案是设置您自己的软件包存储库(而不是仅仅是文件回购)。
http://www.techrepublic.com/blog/opensource/create-your-your-own-yum-repository/609
然后,您可以使用Puppet的内置包装资源来轻松安装/升级/卸载
http://docs.puppetlabs.com/references/latest/type.html#package
以下项目似乎提供了JBOSS的RPM/DEB版本,您可以将其发布到存储库
https://github.com/floreal/jboss-deb-package
http://code.google.com/p/jboss-rpm/