我想使用自己的Jenkins插件服务器从中获取插件。我正在使用puppet-jenkins模块,但我似乎无法更改默认的插件主机值
code on github在manifests/params
中有此内容:
class jenkins::params {
..
$default_plugins_host = 'https://updates.jenkins-ci.org'
..
}
所以,当我使用这门课时,如果我说:
class { 'jenkins':
default_plugins_host => "https://myhost.local"
}
我得到Puppet (err): Invalid parameter
或者,如果我尝试使用capscase定义值:
Jenkins::Params {
default_plugins_host => "https://specificallybrokenhost.com"
}
傀儡没有使用它。我通过给它一个不存在的插件主机来测试这个,期望插件安装失败;但它能够成功获得插件(我的假设是它仍然使用jenkins-ci.org)
我能够通过在library-jenkins/puppet-jenkins
内本地处理整个模块并更改价值来实现这一目标,但我宁愿不必诉诸于此
我正在使用puppet-librarian和Puppet 3.3,如果有帮助的话。
答案 0 :(得分:1)
params.pp文件存储私有变量。这不能被覆盖。
查看模块,您可以更改plugin.pp
第67-82行的网址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_host将使用update_url,如果它已定义而不是default_plugins_host。如果您在插件定义类型上设置了默认值,则可以将default_plugins_host更改为update_url,如此;
Jenkins::Plugin {
source_url => 'mycompany.jenkins.com',
}
我自己没有测试过这个。所以,让我知道它是否有效。