Puppet 重载模块中的默认参数
我想使用我自己的Jenkins插件服务器从中获取插件。我正在使用puppet jenkins模块,但我似乎无法更改默认插件主机值 在Puppet 重载模块中的默认参数,puppet,Puppet,我想使用我自己的Jenkins插件服务器从中获取插件。我正在使用puppet jenkins模块,但我似乎无法更改默认插件主机值 在清单/参数中有以下内容: class jenkins::params { .. $default_plugins_host = 'https://updates.jenkins-ci.org' .. } 所以当我使用这个类时,如果我说: class { 'jenkins': default_plugins_host =>
清单/参数中有以下内容:
class jenkins::params {
..
$default_plugins_host = 'https://updates.jenkins-ci.org'
..
}
所以当我使用这个类时,如果我说:
class { 'jenkins':
default_plugins_host => "https://myhost.local"
}
我得到Puppet(err):无效参数
或者,如果我尝试使用capscase定义值:
Jenkins::Params {
default_plugins_host => "https://specificallybrokenhost.com"
}
它不是木偶用的。我通过给它一个不存在的插件主机来测试它,期望插件安装失败;但是它成功地获得了插件(我的假设是它仍然使用jenkins ci.org)
我能够通过在库jenkins/puppet jenkins
中本地处理整个模块并更改值来实现这一点,但我不想求助于此
如果有帮助的话,我正在使用puppet Library和puppet 3.3。params.pp文件存储私有变量。这不能被覆盖
查看显示的模块,您可以更改plugin.pp第67-82行的url
if $version {
$plugins_host = $update_url ? {
undef => $::jenkins::default_plugins_host,
default => $update_url,
}
$base_url = "${plugins_host}/download/plugins/${name}/${version}/"
$search = "^${name} ${version}$"
}
else {
$plugins_host = $update_url ? {
undef => $::jenkins::default_plugins_host,
default => $update_url,
}
$base_url = "${plugins_host}/latest/"
$search = "${name} "
}
$plugins\u host将使用update\u url(如果已定义),而不是默认的\u plugins\u host。如果您在插件定义类型上设置了默认值,您可以更改默认的\u plugins\u host来更新\u url,如下所示
Jenkins::Plugin {
source_url => 'mycompany.jenkins.com',
}
我自己还没有测试过。所以,让我知道它是否有效。这有效!我更新了最后一个代码段以使用正确的变量名,但在这一更改之后,我看到了正确的结果。我不知道params.pp
是私人空间:(