0

私は宣言パイプラインをJenkinsジョブとして使用しています。異なるプラットフォームのノードからの成果物を作成し、収集し ステージ「ビルド」と「アーカイブ」の実行の両方で並列(linuxの32 & 64、窓、等...)同じ名前の成果物をアーカイブする

残念ながら、アーティファクトはすべてをしています同じ名前。単一のパイプラインジョブで複数のmylib.soをアーカイブすることはできません。または私はできますか?

Windowsの場合、ライブラリは.dllとなるため、違いがありますが、これは全体的な解決策ではありません。

いくつかのノードによって構築された成果物を区別する方法はありますか?

私のパイプラインは次のようになります。

pipeline { 
    agent none 
    stages { 
     stage('Build') { 
      parallel { 
       stage('Build on some Linux x64') { 
        agent { node { label 'linux_64' } } 
        steps { 
         // call make 
        } 
       } 
       stage('Build some more...') { ... } 
      } 
     } 
     stage('Archive') { 
      parallel { 
       stage('Archive from Linux x64') { 
        agent { node { label 'linux_64' } } 
        steps { 
         archive includes: 'out/*.so' 
        } 
       } 
       stage('Archive some more...') { ... } 
      } 
     } 
    } 
} 

私もthisを見てきましたので、すぐに直接何もないかもしれません。

答えて

0

同じ問題に直面することについて...

あなたは、フォルダやノード間のファイル(Googleが他のディレクトリにunstashing)を移動するstashunstashを使用することができます。この場合、各プラットフォームごとに出力を隠し、それぞれを別々のフォルダに展開する最終段階を追加します。最後に、ビルドが完了した後に利用可能にするためにロットをアーカイブします。

これにはバリエーションがあります。もちろん、ビルド自体をプラットフォーム/アーキテクチャ固有のフォルダに出力することもできます。

関連する問題