【问题标题】:Unable to Create New file in Jenkins Pipeline无法在 Jenkins Pipeline 中创建新文件
【发布时间】:2020-01-30 00:19:25
【问题描述】:

我正在尝试在 Jenkins Pipeline 中创建新文件,但出现错误。 错误: java.io.FileNotFoundException: /var/lib/jenkins/workspace/Pipeline-Groovy/test.txt (没有这样的文件或目录)

但是当我在没有管道的情况下执行以下命令时,它会创建新文件

def newFile = new File("/var/lib/jenkins/workspace/test/test.txt")
newFile.append("hello\n")
println newFile.text

如果我在管道中使用相同的代码得到上述错误

pipeline {

    agent any


    options {
        buildDiscarder(logRotator(numToKeepStr: '5'))

        timestamps()
    }
    stages {
        stage('Demo1-stage') {
            steps {
                deleteDir()
                    script {

                        def Jobname = "${JOB_NAME}"
                        echo Jobname
                    }
            }
        }
        stage('Demo-2stage') {
            steps {
                script {

                    def workspace = "${WORKSPACE}"
                    echo workspace
                    def newFile = new File("/var/lib/jenkins/workspace/Pipeline-Groovy/test.txt")
                    newFile.createNewFile() 
                    sh 'ls -lrt'
                    }
                }
            }
        }
    }

【问题讨论】:

  • 你确定你的路径存在吗?为什么不使用 ${WORKSPACE} 而不是硬编码的绝对路径?
  • 是的,我们可以使用工作区。但出于测试目的,仅对路径进行硬编码。但是当我在 Jenkins 管道中执行相同的命令时,会出现该错误。路径可用。
  • 老实说,如果您直接在流水线阶段而不是在库代码中执行此操作,您可能会受益于仅使用内部 writeFile 而不是为相同的功能编写自己的代码。

标签: jenkins groovy jenkins-pipeline jenkins-plugins jenkins-groovy


【解决方案1】:

您的文件夹似乎不存在。除非有要求,否则在创建文件时不要提供绝对路径。我看到在您的情况下,您需要工作区中的文件。始终使用${WORKSPACE} 获取当前工作目录。

def newFile = new File("${WORKSPACE}/test.txt")
newFile.createNewFile() 

【讨论】:

  • 如果我在“build with groovy”中使用相同的执行,它可以工作,但相同的命令在 Jenkins 管道中不起作用。
  • 尝试使用 Pipeline,但没有成功。出现错误:java.io.IOException:没有这样的文件或目录----同样的工作“使用 Groovy Freestyle 执行”作业。我很困惑为什么相同的脚本在 Pipeline 中不起作用。
  • 您能否检查是否有任何待处理的脚本审批。 jenkins.io/doc/book/managing/script-approval
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
  • 1970-01-01
  • 2018-09-07
相关资源
最近更新 更多