【问题标题】:How to use Jenkins file parameter in Pipelines如何在 Pipelines 中使用 Jenkins 文件参数
【发布时间】:2021-02-02 21:38:00
【问题描述】:

我的 Jenkins 管道使用代理 { node { label 'slave_node1' } } 在 Slave 上运行。

我使用名为 uploaded_file 的 Jenkins 文件参数并上传了一个名为 hello.pdf 的文件

我的管道包含以下代码

stage('Precheck')
{
  steps {
       sh "echo ${WORKSPACE}"
       sh "echo ${uploaded_file}
       sh "ls -ltr ${WORKSPACE}/*"

输出:

/web/jenkins/workspace/MYCOPY
hello.pdf
ls: cannot access /web/jenkins/workspace/MYCOPY/* No such file or directory

如您所见,在从属 WORKSPACE 上没有找到文件。

如果我在正确的位置(即 WORKSPACE 目录下)检查上传的文件,您能告诉我吗?

如何将文件上传到slave的WORKSPACE?

我在 jenkins 版本 2.249.1

我可以让它至少在最新版本的 Jenkins 上工作吗?

【问题讨论】:

    标签: file jenkins parameters upload workspace


    【解决方案1】:

    那么你有一个固定的文件在每次构建中都复制吗?即是同一个文件?

    在这种情况下,您可以将其保存为 jenkins 中的秘密文件并执行以下操作:

    environment {
        FILE = credentials('my_file')
    }
    
    stages {
        stage('Preperation'){
            steps {
                // Copy your fie to the workspace
                sh "cp ${FILE} ${WORKSPACE}"
                // Verify the file is copied.
                sh "ls -la"
            }
        }
    }
    

    【讨论】:

    • 每个用户都可以使用文件参数上传他选择的文件,所以它不会是固定的同一文件@Jan
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    相关资源
    最近更新 更多