0
我有一個木偶大師,可以將我的應用程序構建到主文件夾中。例如。 xxxxx_v1.0.0.zip和yyyyy_v1.0.8.zip [xxxxx被部署到一系列服務器,yyyyy被部署到另一組服務器]。Puppet - 識別新版本並部署
什麼是最好的方式來處理在我的應用程序版本的新版本的puppet master上採購,而不需要編輯主文件上的.pp文件以引用文件名上的新版本號,最好是自動的。
感謝
我有一個木偶大師,可以將我的應用程序構建到主文件夾中。例如。 xxxxx_v1.0.0.zip和yyyyy_v1.0.8.zip [xxxxx被部署到一系列服務器,yyyyy被部署到另一組服務器]。Puppet - 識別新版本並部署
什麼是最好的方式來處理在我的應用程序版本的新版本的puppet master上採購,而不需要編輯主文件上的.pp文件以引用文件名上的新版本號,最好是自動的。
感謝
建立一個合適的包爲您的操作系統,而不是一個好辦法。木偶可以使用那些
package { 'application-x': ensure => latest }
如果做不到這一點,你從什麼地方獲取您的應用程序元數據,例如解決這個
wget
的exec
,然後讓它運行一個腳本來使用像木偶儀表板,或ENC更好,但Hiera,牽你的最新版本信息的主端執行,如果有必要如果你真的想通過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
是一個腳本,會發現最近你的包的版本,並將其寫入到標準輸出。
雖然這是非常可怕的做法 - 你真的不適合Puppet的構造像這樣的優勢。
非常感謝Felix。我向主方提出了更多要求,我如何選擇放在文件夾(在主文件夾中)進行部署的新版本。任何指針?順便說一句,我也用mco。 –
@ user1882828我更新了我的答案,以包含一個(醜陋的)替代方案。 –