44

Jenkins パイプライン (ワークフロー) 内から Jenkins Copy Artifacts Plugin を使用する例を見つけようとしています。

それを使用しているGroovyコードのサンプルを誰かが指摘できますか?

4

4 に答える 4

32

マスターでスレーブを使用していて、互いの間でアーティファクトをコピーしたい場合は、stash/unstash を使用できます。次に例を示します。

stage 'build'
node{
   git 'https://github.com/cloudbees/todo-api.git'
   stash includes: 'pom.xml', name: 'pom'
}

stage name: 'test', concurrency: 3
node {
   unstash 'pom'
   sh 'cat pom.xml' 
}

このリンクでこの例を見ることができます:

https://dzone.com/refcardz/continuous-delivery-with-jenkins-workflow

于 2016-04-25T14:46:34.800 に答える
31

ビルドが同じパイプラインで実行されていない場合は、直接CopyArtifactプラグインを使用できます。例: https://www.cloudbees.com/blog/copying-artifacts-between-builds-jenkins-workflowとサンプル コード:

node {
   // setup env..
   // copy the deployment unit from another Job...
   step ([$class: 'CopyArtifact',
          projectName: 'webapp_build',
          filter: 'target/orders.war']);
   // deploy 'target/orders.war' to an app host
}
于 2016-04-26T18:06:49.057 に答える
1
name = "/" + "${env.JOB_NAME}"
def archiveName = 'relNum'
try {
    step($class: 'hudson.plugins.copyartifact.CopyArtifact', projectName: name, filter: archiveName)
} catch (none) {
    echo 'No artifact to copy from ' + name + ' with name relNum'
    writeFile file: archiveName, text: '3'
}

def content = readFile(archiveName).trim()
echo 'value archived: ' + content

コピーアーティファクトプラグインを使用して試してください

于 2016-04-25T22:26:21.280 に答える