2011-12-09 29 views
4

私はジェンキンズで数多くのプロジェクトをビルドしています(いくつかのプロジェクトが複数のブランチを持っています)、プロモーションのためにプロモーションプラグインを使用したいと考えています。Jenkinsで複数の上流プロジェクトの昇進ジョブを書くにはどうすればいいですか?

プロモーションのプロセスは、すべての異なるジョブでほぼ同じです。だから私は各ビルド・プロジェクトにすべてのプロモーション・ステップを書きたいとは思っていませんが、むしろ1つのプロモーション・ジョブを持ってプロモートできるようにしています。

ユーザーが手動で選択し、どちらかのビルドプロジェクトから1つのビルドを昇格させる方法です。ビルドによってプロモーションジョブの新しいビルドがトリガーされ、プロモートされたビルドから情報が取得され、プロモーションが実行されます。

私の問題は、私が昇格したビルドからアーティファクトを取得する方法がないように見えることです。

コピーアーティファクトプラグインを使用すると、アップストリームジョブを選択する必要があり、複数のものを書き込めないようです。ヘルプには$変数を使用できると書かれていますが、環境変数の中にプロモートされたビルドIDが表示されないので、どのように表示されないのでしょうか。

私はこれが解決できるとはかなり確信していますが、私はどのように見えません。

誰でもアイデアはありますか?

ありがとうございました。

+0

すべての成果物は_JENKINS_HOME/jobName/builds/number_に保存されていますか?数値は環境変数の一部ではありませんか?彼らは同じプロパティの2つのキーを持っているはずです – Khez

+0

プロモーションプロセスはビルド自体であり、作成したいビルドジョブは別のビルドです。それらはそれぞれ独自のjobnameとbuildnameを持っています。これは、プロモートビルドのものとは別のものです。私の気持ちは、宣伝されたビルドデータがプロモーションプロセスにあるべきだが、そうではないということだ。 返信いただきありがとうございます。 –

答えて

2

プロモーションを実行すると、元のジョブを参照する2つの変数がプロモーション中に作成されます。それらは次のとおりです。

  • PROMOTED_JOB_NAME:元のジョブの名前です。
  • PROMOTED_NUMBER:元のジョブの元のビルド番号。

プロモーションに添付されたアクションでこれを使用して、元のジョブを参照することができます。私はCopy Artifactsプラグインを使って元のビルドからアーカイブファイルを取り出し、ネットワークへのコピー、公開などを行います。

関連する問題