我正试图在Jenkins管道中创建新文件,但出现了错误。错误: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}获取当前工作目录。
def newFile = new File("${WORKSPACE}/test.txt")
newFile.createNewFile()
我正在尝试从管道中自动创建Jenkins管道构建。 我有一个管道,它创建一个比特桶存储库并向其提交一些代码,包括一个Jenkinsfile。 我需要向此管道添加另一个步骤,然后为其创建管道生成,这将运行 Jenkinsfile 中的步骤。 我认为Jobs DSL应该能够处理这一点,但我找到的文档非常稀少,我仍然不完全确定是否有可能或如何做到这一点。 任何帮助都将不胜感激。我想生成的Pipeline
我有一个简单的Jenkinsfile,我想在其中从工作区加载一些数据。我正在使用管道插件来利用存储库中的Jenkinsfile。构建被外包给匹配的Jenkins代理。当我尝试使用“readFile”时,我收到以下消息: Java语言io。FileNotFoundException:/path/to/jenkins/workspace/XXXXX/project/data。json(无此类文件或目录
通常,我会通过Azure DevOps门户创建一个新的构建管道。然后,编辑器将带我完成选择项目源、存储库和模板的步骤。之后,我可以选择创建一个新分支或直接提交到主分支。 但是,这一次,我的分支中有一个现有的文件。我在本地使用文本编辑器创建了它,并将此分支推送到Azure运营模式。我想附加此文件,并让Azure管道创建新版本并将其排队。但是我找不到任何选择。导入生成管道选项仅接受JSON文件。 是否
问题内容: 我能够运行以下shell脚本,但无法从Jenkins管道代码运行。 尝试1。 输出: 尝试2: 尝试过sh“”“ 输出 : 美元符号后的非法字符串体字符;解决方案:要么转义文字美元符号,要么将值表达式括起来 有人能帮我吗? 问题答案: 这应该工作。 您还需要在调用下面的新subshell时转义$
问题内容: 我有一个XML文件,我想将其用作管道脚本的输入。问题是XMLParser不可序列化,因此我将其放在NonCPS函数中,但是因此丢失了Node对象。 这是管道脚本: 这是一个输入样本: 结果如下: 我正在使用Jenkins 2.7和管道2.1,这是最新的。 问题答案: 您可以使用XmlSlurper,它对我有用。