在指定最新版本时,在Puppet中获取已安装的软件包版本

时间:2016-03-08 12:00:23

标签: jenkins puppet

当puppet中的包设置为latest时,如何检索已安装的版本?

在以下示例中,jenkins包设置为下载repo中的最新可用内容。但下载后,我想获得实际安装的版本。

package { 'jenkins':
  ensure => latest,
}

1 个答案:

答案 0 :(得分:1)

最简单的方法是拥有自定义事实。根据您的操作系统,您可以为RedHat机器执行类似的操作:

Facter.add("jenkins_version") do
  confine :osfamily => 'RedHat'
  setcode do
    Facter::Util::Resolution.exec("/bin/rpm -q jenkins")
  end
end

然后您将获得$::jenkins_version个事实,您可以使用notify{$::jenkins_version:}输出