2

プロジェクト A が正常に完了したときに Jenkins プロジェクト B を実行するように構成しました。

プロジェクト B パイプラインで A のビルド番号を見つけるにはどうすればよいですか?

4

2 に答える 2

4

最後に成功した A のビルドだけが必要な場合は、Jenkins から読み取ることができます。

http://JenkinsMaster:Port/job/MyJob/lastSuccessfulBuild/buildNumber

トリガーされた B をビルドする必要がある場合は、パラメーター化されたトリガー プラグインを使用して、次を使用できます。

于 2016-05-22T11:31:23.340 に答える
1

次のことができます。

  1. Execute windows batchまたはExecute shellビルド ステップを使用して、プロジェクト A のビルド中にビルド バージョンをファイルに保存します (例: Windows バッチから)。

    echo "VARIABLEA=%BUILD_NUMBER%" > %WORKSPACE%\myartifact.properties:
    
  2. ビルド後のアーティファクトをアーカイブするステップを使用して、プロジェクト A のそのビルドに対してファイルを保存します。

  3. プロジェクト B の開始時に、[ Copy artifacts from another project ] ビルド ステップを使用し、プロジェクト A をポイントし、[ Artifacts to copy ]フィールドを使用して、作成したファイルに絞り込み、[ Which build ]フィールドで [ Last success build ]を選択します。
  4. プロジェクト A のビルド中にシェル スクリプトでファイルを読み取り、ビルド番号を取得します。

アーティファクトを次の形式で出力する場合:

    VARIABLEA=${BUILD_NUMBER} 
    VARIABLEB=${BUILD_NUMBER} 

Jenkins サーバーで Linux を使用している場合、sourceコマンドを使用して、そのシェル セッションで VARIABLEA と VARIABLEB を使用できるようにすることができます。

    source "${WORKSPACE}/myartifact.properties"
    echo ${VARIABLEA}

その後、シェルスクリプトでその変数を使用して何かを行うことができます。


または、プロジェクト Aの他のプロジェクトのポスト ビルド ステップ (これにはパラメーター化されたトリガー プラグインが必要だと思います) でパラメーター化されたトリガー ビルドを使用し、プロジェクト B をセットアップしてそれらのパラメーターを受け入れることもできます。

于 2016-05-20T18:28:39.843 に答える