あるジョブに存在するアーティファクトを別のジョブにコピーしたかった.問題は、指定されたパスが
$JENKINS_HOME/userContent これで、私のデータはジョブの 1 つに存在します。それをコピーするにはどうすればよいですか??
ありがとう
あるジョブに存在するアーティファクトを別のジョブにコピーしたかった.問題は、指定されたパスが
$JENKINS_HOME/userContent これで、私のデータはジョブの 1 つに存在します。それをコピーするにはどうすればよいですか??
ありがとう
「別のプロジェクトからアーティファクトをコピーする」ビルド後のアクションを使用していると思いますよね?
アーティファクトのコピー元の場所は、
-アーティファクトフォルダー
- 選択したビルド用
- コピー元として選択したジョブ用
したがって、まず最初に、コピー元のジョブが実際にアーティファクトをアーカイブしていることを確認する必要があります。ワークスペースからファイルをコピーしません (そのための他のプラグインがあります)。
アーティファクトをアーカイブするには、アーティファクトを作成するジョブで、ビルド後のアクション「アーティファクトをアーカイブする」を選択し、アーカイブするアーティファクトのリストをワークスペースに相対的に指定します。たとえば、場所に関係なく、すべての zip ファイルをアーカイブするには、次を使用します。
**/*.zip
または、すべてのアーティファクトが「ビルド」フォルダー内にあることがわかっているが、間に中間ディレクトリがある可能性がある場合は、次を使用します。
build/**/*.zip
または、単純にフル パスを指定します。
build/myartifactsfolder/myfile.zip
利用可能なアーティファクトを表示するには、ブラウザーでコピー元のジョブの URL に移動し、コピー元のビルドを選択して、最後に /artifact/ を追加するか、単に [ビルド アーティファクト] をクリックします。 」 ページのリンク:
example: http://localhost/job/YourJob/lastBuild/artifact/
これにより、ディレクトリ構造と利用可能なすべてのアーティファクトが表示されます。これは、ビルド後の「コピー アーティファクト」ステップで直接参照できます。または、ワイルドカードを使用できます。たとえば、ディレクトリ構造を無視してすべての *.zip ファイルのみをコピーする場合、「コピーするアーティファクト」フィールドは次のようになります。
**/*.zip
二重星は、その間のディレクトリを無視します。コンマを使用して複数のエントリを区切ることができます。または、このフィールドを空白のままにすると、使用可能なすべてのアーティファクトがコピーされます。
受信側では、「ターゲット ディレクトリ」は、「アーティファクトのコピー」ステップを呼び出しているジョブのワークスペースに相対的です。
最後に、ディレクトリ構造を気にしない場合は、「フラット化ディレクトリ」オプションをチェックして、すべてのアーティファクトが同じ場所に配置され、間にあるフォルダを無視します。
最も簡単な解決策:
ジョブ Aのアーティファクトの複数のコピー(過去 10 ビルドの履歴など)を保存する場合は、
ジョブAが関連するアーティファクトの正確な場所をパラメーターを介してジョブ Bに渡すようにします。