我有一个木偶大师将我的应用程序构建到一个主文件夹中。例如。 xxxxx_v1.0.0.zip和yyyyy_v1.0.8.zip [xxxxx部署到一系列服务器,yyyyy部署到另一组服务器]。
在我的应用程序版本的新版本上处理puppet master上的源代码的最佳方法是什么,而不编辑master上的.pp文件以引用文件名上的新内部版本号,最好是自动生成。
由于
答案 0 :(得分:0)
为您的操作系统构建合适的包的好方法。 Puppet可以使用
package { 'application-x': ensure => latest }
如果做不到,你解决了这个问题
exec
wget
,然后让它运行脚本以在必要时执行部署如果您真的希望通过Puppet的fileserver
执行此操作而不触及任何元数据并只删除模块中的文件,则可以尝试使用generate函数。
$latest_zip_application_x = generate("/usr/local/bin/find_latest application_x")
file { 'application_x.zip':
...
source => "puppet:///modules/application_x/path/to/$latest_zip_application_x",
}
其中/usr/local/bin/find_latest
是一个脚本,可以找到包的最新版本并将其写入stdout。
这是非常糟糕的做法 - 你真的不能满足Puppet在这些结构方面的优势。