2016-04-18 2 views
1

Я хочу использовать собственный сервер плагинов 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 и изменив значение, но я бы предпочитают не прибегать к этому

Я использую кукольный библиотекарь и кукол 3.3, если это помогает.

ответ

1

Файл params.pp хранит частные переменные. Это нельзя переопределить.

Осматривая модуля появляется вы можете изменить URL из линий 67-82 из plugin.pp

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', 
} 

Я не проверял это сам. Итак, дайте мне знать, если это сработает.

+0

Это работает! Я обновил последний фрагмент кода, чтобы использовать правильное имя переменной, но после этого изменения это меня правильно. Я не знал, что 'params.pp' было частным пространством :( – Jeff

Смежные вопросы