私が理解しているように、archiveArtifactsは、ビルドが完了した後の何か(または誰か)が使用するために、アーティファクトを保存するためのものです。私はステージやノード間でファイルを転送するために "stash"と "unstash"を使うことをお勧めします。
あなただけ...
stash include: 'globdescribingfiles', name: 'stashnameusedlatertounstash'
を行くと、あとでそのアーティファクトを取得したいとき...
unstash 'stashnameusedlatertounstash'
と隠さファイルは、現在の作業ディレクトリに置かれます。
ここJenkinsfileドキュメント(https://jenkins.io/doc/book/pipeline/jenkinsfile/#using-multiple-agents)で与えられたものの一例です:
pipeline {
agent none
stages {
stage('Build') {
agent any
steps {
checkout scm
sh 'make'
stash includes: '**/target/*.jar', name: 'app'
}
}
stage('Test on Linux') {
agent {
label 'linux'
}
steps {
unstash 'app'
sh 'make check'
}
post {
always {
junit '**/target/*.xml'
}
}
}
stage('Test on Windows') {
agent {
label 'windows'
}
steps {
unstash 'app'
bat 'make check'
}
post {
always {
junit '**/target/*.xml'
}
}
}
}
}