2012-04-24 34 views
4

Jenkinsジョブを一括コピーする簡単な方法はありますか?基本的には、特定のビューのすべてのジョブを別のビューにコピーし、いくつかのパラメータを異なる値に変更します。同様のJenkinsジョブを一括コピーする最も簡単な方法

たとえば、私はView_1_Test_Jobsというビュー呼び出しを持っています。このビューのすべてのジョブには、「ホスト」パラメータと「plan_id」パラメータがあります。私は、これらのジョブのすべてを別のビューにコピーし、それらのすべての2つのパラメータを1つに変えることができればと思います。

ジョブディレクトリと設定ファイルをコピーすることでこれを行うためのPythonスクリプトを書くことができますが、これを行う方が簡単か一般的な方法があるのでしょうか?

複数のコピーを作成する必要がないように、これらのジョブを構成する方がよい場合もあります(ただし、各ホストのテスト結果ごとに別個のビューが必要ですが、ジョブを実行する必要があります平行)。

答えて

2

Matrix buildを使用すると、複数の構成で1つのパラメータ化されたジョブを実行できます。

+0

ガレス、これは良い考えだと思います。私たちはすでにいくつかの状況でこれを使用していますので、試してみます。私はそれがどのように進むのかを知らせます。ありがとう! –

1

お試しください:Jenkins-maven-plugin

これにより、XMLを使用してジョブを作成し、種類のジョブを作成することができます。

2

これはcloudbees folder pluginで簡単に行うことができます。cloudbees folder pluginは、アップデートセンターのcloudbeesプラグインゲートウェイから無料で入手できます。

フォルダレベルで定義された環境変数によってパラメータ化されたジョブのフォルダを作成できます。そのフォルダのコピーを作成し、そのフォルダの環境変数を変更することができます。その新しいフォルダ内のすべてのジョブは、更新された値を使用します。

また、CloudBeesのJenkins Enterpriseの有料ライセンスに付属するテンプレートプラグインにも注意する必要があります。テンプレートの利点は、事実の後に1つの場所でそれらを更新できることです。これは他のアプローチではそうではありません。

注:私はCloudBeesの従業員です。

+0

このプラグインでは、フォルダの環境変数を指定することはできません。 CloudBeeは、オープンソース化したときにこれと他の機能を削除しました! – akjoshi

0

ビュークローンを使用すると、ビューのすべてのプロジェクトをクローンして、希望の文字列に置き換えることができます。このリンクを確認してください:https://wiki.jenkins-ci.org/display/JENKINS/View+Cloner+Plugin.For私はクローニングパートは動作していますが、なぜ失敗したのか分かりません。

関連する問題