Ruby 使用Puppet模块的Puppet资源排序;大师/木偶工作组;?
Puppet允许指定资源的安装/创建顺序 我的ruby脚本使用Ruby 使用Puppet模块的Puppet资源排序;大师/木偶工作组;?,ruby,puppet,Ruby,Puppet,Puppet允许指定资源的安装/创建顺序 我的ruby脚本使用包安装应用程序 $app_firefox_name = "Firefox-0-DL" $app_firefoxt_dmg = "/tmp/$app_firefox_name.dmg" package { $app_firefoxt_app: ensure => installed, provider => appdmg, source => $app_firefoxt_dmg, re
包安装应用程序
$app_firefox_name = "Firefox-0-DL"
$app_firefoxt_dmg = "/tmp/$app_firefox_name.dmg"
package { $app_firefoxt_app:
ensure => installed,
provider => appdmg,
source => $app_firefoxt_dmg,
require => wget::fetch[$app_firefoxt_app],
}
wget::fetch { $app_firefox_name:
source => "http://download.mozilla.org/?product=firefox-21.0&os=osx&lang=en-GB",
destination => $app_firefox_dmg,
timeout => 0,
verbose => true
}
package { $app_firefoxt_app:
ensure => installed,
provider => appdmg,
source => "http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/mac/en-GB/Firefox%2021.0.dmg"
}
在安装之前,脚本需要下载应用程序。脚本使用木偶模块https://github.com/maestrodev/puppet-wget
获取应用程序
$app_firefox_name = "Firefox-0-DL"
$app_firefoxt_dmg = "/tmp/$app_firefox_name.dmg"
package { $app_firefoxt_app:
ensure => installed,
provider => appdmg,
source => $app_firefoxt_dmg,
require => wget::fetch[$app_firefoxt_app],
}
wget::fetch { $app_firefox_name:
source => "http://download.mozilla.org/?product=firefox-21.0&os=osx&lang=en-GB",
destination => $app_firefox_dmg,
timeout => 0,
verbose => true
}
package { $app_firefoxt_app:
ensure => installed,
provider => appdmg,
source => "http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/mac/en-GB/Firefox%2021.0.dmg"
}
我不知道maestrodev/puppet wget模块是否定义了一个类型
以下代码是否定义了可用于描述资源排序的类型(如Puppet的资源排序文档中所定义的)?
define wget::fetch (
$source,
$destination,
$timeout = '0',
$verbose = false,
$redownload = false,
$nocheckcertificate = false,
$execuser = 'root',
) { ... }
如果是,如何使用puppet的before元参数来表示下载应用程序->安装应用程序包之间的关系?我可能没有理解您问题的要点,但如果要求不起作用,请尝试将其大写:
define wget::fetch (
$source,
$destination,
$timeout = '0',
$verbose = false,
$redownload = false,
$nocheckcertificate = false,
$execuser = 'root',
) { ... }
require => Wget::Fetch[$app_firefoxt_app]
我使用Puppet的包
资源下载应用程序来解决这个问题
$app_firefox_name = "Firefox-0-DL"
$app_firefoxt_dmg = "/tmp/$app_firefox_name.dmg"
package { $app_firefoxt_app:
ensure => installed,
provider => appdmg,
source => $app_firefoxt_dmg,
require => wget::fetch[$app_firefoxt_app],
}
wget::fetch { $app_firefox_name:
source => "http://download.mozilla.org/?product=firefox-21.0&os=osx&lang=en-GB",
destination => $app_firefox_dmg,
timeout => 0,
verbose => true
}
package { $app_firefoxt_app:
ensure => installed,
provider => appdmg,
source => "http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/mac/en-GB/Firefox%2021.0.dmg"
}