2

私は現在svnでjenkinsを使用しており、サーバー上にあるシェルスクリプトが生成するものに基づいて特定のタグを作成したいと考えていました。スクリプトは、5分ごとに作成するタグ名のリストをエクスポートします。jenkinsにこのリストを受け取ってから、リストを循環させて、各タグを作成してもらいたいと思っていました。

単一のリビジョンをビルドするためのパラメーター化されたビルドオプションを取得することしかできず、ビルドのリストをどのように処理できるかがわかりませんでした。ビルド前のシェルオプションを使用する必要がありますか?もしそうなら、スクリプトによって生成された各タグのビルドをどのように開始しますか?

基本的に、私はjenkinsでシェルスクリプトによって返される特定のsvnタグを構築するための最良の方法を探しています。また、環境変数は、jenkinsが必要とする形式に準拠するようにスクリプトを簡単に変更できるため、jenkinsが受け取るリストに最適な形式です。

4

1 に答える 1

2

Parameterized Trigger プラグインは、パラメーターのリストを反復処理できる可能性があります (リビジョン 2.12 はそのようなものを主張しています) が、それを呼び出す方法がわかりません。

1 つの解決策は、ビルド元のタグを指定するパラメーターを受け取るビルド (「タグ ビルダー」) を作成することです。次に、入力ファイルを使用する別のビルドを作成し、Jenkins Remote APIを使用して Tag Builder のビルドを起動します。マスター ビルドには、入力ファイルを反復処理し、ジョブを開始する Jenkins URL を取得するシェル ビルド ステップが含まれます。Jenkins インスタンスの URL に、そのhttp://jenkins:8080/job/MY_JOB/api方法が説明されています。

このソリューションの欠点は、すべてのタグが実質的に同じビルド内にあるため、特定のタグのビルド トレンドを抽出するのが難しくなることです。(これと同じ欠点が、パラメーター化されたトリガー ソリューションにも当てはまります。)

タグの有効期間によっては、Jenkins Remote API を使用して、スクリプトとテンプレート構成を使用して外部でビルドを作成する方が適切な解決策になる場合があります。URLhttp://jenkins:8080/apiには、ジョブの作成方法が記載されています。

于 2012-12-19T18:56:36.890 に答える