首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jenkins CopyArtifact步骤-无法找到项目副本的项目

Jenkins CopyArtifact步骤-无法找到项目副本的项目
EN

Stack Overflow用户
提问于 2018-02-17 04:59:51
回答 2查看 13K关注 0票数 14

基于这篇文章,我尝试在我的环境中测试管道代码。但它给出了下面的错误信息。如何修复他的流水线代码?

代码语言:javascript
运行
复制
ERROR: Unable to find project for artifact copy: test
This may be due to incorrect project name or permission settings; see help for project name in job configuration.
Finished: FAILURE

How can I use the Jenkins Copy Artifacts Plugin from within the pipelines (jenkinsfile)?

代码语言:javascript
运行
复制
pipeline {
    agent any
    stages {
        stage ('push artifact') {
            steps {
                sh '[ -d archive ] || mkdir archive'
                sh 'echo test > archive/test.txt'
                sh 'rm -f test.zip'
                zip zipFile: 'test.zip', archive: false, dir: 'archive'
                archiveArtifacts artifacts: 'test.zip', fingerprint: true
            }
        }

        stage('pull artifact') {
            steps {
                sh 'pwd'
                sh 'ls -l'
                sh 'env'
                step([  $class: 'CopyArtifact',
                        filter: 'test.zip',
                        projectName: '${JOB_NAME}',
                        fingerprintArtifacts: true,
                        selector: [$class: 'SpecificBuildSelector', buildNumber: '${BUILD_NUMBER}']
                ])
                unzip zipFile: 'test.zip', dir: './archive_new'
                sh 'cat archive_new/test.txt'
            }
        }
    }
}
EN

回答 2

Stack Overflow用户

发布于 2018-04-02 15:53:10

如果您启用了授权(如rbac),则必须向项目授予“复制工件”权限。在项目配置中,复制工件的常规->权限,选中该框并设置可以复制工件的项目

票数 21
EN

Stack Overflow用户

发布于 2019-03-27 21:02:50

对我来说起作用的不是projectName: '${JOB_NAME}',而是projectName: env.JOB_NAME。例如,完整的复制工件步骤将如下所示:

代码语言:javascript
运行
复制
step([  $class: 'CopyArtifact',
        filter: 'test.zip',
        projectName: env.JOB_NAME,
        fingerprintArtifacts: true,
        selector: [$class: 'SpecificBuildSelector', buildNumber: env.BUILD_NUMBER]
])

或者使用更现代的语法:

代码语言:javascript
运行
复制
copyArtifacts(
    filter: 'test.zip',
    projectName: env.JOB_NAME,
    fingerprintArtifacts: true,
    selector: specific(env.BUILD_NUMBER)
)
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48834762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档