2016-05-05 1 views
3

私はJenkinsfileにparallelブロックを使っていくつかのテストを同時に実行していますが、すべての出力が混ざり合っています。単一のJenkinsパイプライン並列ブロックからstdoutとstderrを取得する方法は?

これは一例として、私のJenkinsfileの抽出物である:

// do some IT against different databases 
stage name: 'IT' 

parallel (
    mysqlIT: { 
     node { 
      executeMysqlIT() 
     } 
    }, 
    oracleIT: { 
     node { 
      executeOracleIT() 
     } 
    } 
) 

が示唆hereとして、私は、各parallel以内に新しいnodeを実行しているので、彼らが適切に並列化し、それらのそれぞれを受ける、ということに注意してください独自のワークスペースを取得します。

parallelブロックの出力をJenkinsに表示させるにはどうすればよいですか?

答えて

3

ジョブのビルドページには、左側に「パイプラインステップ」というリンクがあります。木のような構造の中に、あなたの仕事が走っているすべてのステップが並行したものを含めて見つかります。左側のリンクを使用して、すべてのステップに入り、コンソールログにア​​クセスできます。または、同じ行の右側に「端末」アイコンを使用することもできます。

これをクリックすると、同時に実行されている他のステップと混在することなく、そのステップ内でのみ生成されたコンソールログが表示されます。 1つまたは複数のパラレルステップがまだ進行中の場合、それらのログはそれぞれのコンソールログページで動的に更新されます。

+0

すごく難しいですね!とにかくこれはまさに私が探していたものでした。特定のステップ出力をジョブの左のバーに直接追加する方法はありますか? –

+1

私は恐れています。各ステップには、ジョブが実行されるときに順次IDが割り当てられます。スクリプトを頻繁に変更しない場合は、ステップの直接リンクをジョブの説明(ビルド・パーマリンクを使用)に追加するか、または「currentBuild.description」プロパティを割り当ててビルドの説明に追加することができます。 – izzekil

関連する問題