2016-04-18 12 views
1

私は自分のJenkinsプラグインサーバーをソースプラグインから使いたいと思っています。モジュールのオーバーロードパペットのデフォルトパラメータ

class jenkins::params { 
    .. 
    $default_plugins_host = 'https://updates.jenkins-ci.org' 
    .. 
} 

だから私はこのクラスを使用する場合、I場合:code on githubmanifests/paramsでこれを持っている

を私は人形-ジェンキンスモジュールを使用していますが、私はデフォルトのプラグインのホスト値を変更するように見えることはできません言う:私はcapscaseを使用して値を定義しようとした場合

class { 'jenkins': 
    default_plugins_host => "https://myhost.local" 
} 

は、私は、Puppet (err): Invalid parameter

を取得または:

Jenkins::Params { 
    default_plugins_host => "https://specificallybrokenhost.com" 
} 

人形では使用しません。私は、プラグインのインストールが失敗することを期待して、存在しなかったプラグインホストを与えることでこれをテストしました。

モジュール全体をローカルでlibrary-jenkins/puppet-jenkinsにコピーして値を変更することでこれを行うことができましたが、私はそのプラグインを正常に取得できました(私はjenkins-ci.orgをまだ使用していたと仮定しています)。それに頼らざるを得ないことを好む

私は人形劇場の図書館員とPuppet 3.3を使用しています。

答えて

1

params.ppファイルにはプライベート変数が格納されます。これは無効にすることはできません。

モジュールを介して見るとですが、あなたが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} " 
} 

のライン67-82からURLを変更することができます表示されます$ plugins_hostそれは代わりにdefault_plugins_hostで定義されていた場合update_url使用されます。プラグイン定義型でデフォルトを設定した場合、default_plugins_hostをupdate_urlに変更することができます。

Jenkins::Plugin { 
    source_url => 'mycompany.jenkins.com', 
} 

これは自分でテストしていません。だから、それが動作するかどうか私に教えてください。

+0

これは機能します!私は、最後のコードスニペットを正しい変数名を使用するように更新しましたが、その変更の後、これは私を正しく見ました。私は 'params.pp'がプライベートスペースであることを知らなかった:( – Jeff

関連する問題