Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jenkins管道无法读取文件_Jenkins_Jenkins Pipeline - Fatal编程技术网

jenkins管道无法读取文件

jenkins管道无法读取文件,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我有一个简单的Jenkins文件,我想从工作区加载一些数据。我正在使用管道插件来利用存储库中的Jenkins文件。该构建被分包给一个匹配的Jenkins代理。当我尝试使用“readFile”时,会收到以下消息: java.io.FileNotFoundException:/path/to/jenkins/workspace/XXXXX/project/data.json(没有这样的文件或目录) 在尝试从工作区加载Groovy文件时,我也会收到同样的消息 我的Jenkinsfile看起来像: 节点

我有一个简单的Jenkins文件,我想从工作区加载一些数据。我正在使用管道插件来利用存储库中的Jenkins文件。该构建被分包给一个匹配的Jenkins代理。当我尝试使用“readFile”时,会收到以下消息:

java.io.FileNotFoundException:/path/to/jenkins/workspace/XXXXX/project/data.json(没有这样的文件或目录)

在尝试从工作区加载Groovy文件时,我也会收到同样的消息

我的
Jenkinsfile
看起来像:

节点(“主节点”){
阶段“开始”
回音“开始”
阶段“加载文件”
def myJson=readFile“data.json”
}
知道我为什么不能读这些文件吗

谢谢,
Tim

当Jenkins处理Jenkins文件时,它不会自动拉取整个源存储库。您需要执行“checkout scm”来下拉存储库的内容。如果无法执行此操作,则管道脚本将无法使用其他文件。

是您的配置系统吗→ 工作区根目录:
${JENKINS\u HOME}/Workspace/${ITEM\u FULLNAME}/project
或没有
/project
?看起来JENKINS正在这个版本上创建3个工作区。998圈,998-loops@script,及998-loops@tmp. 998-loops@script是唯一有数据的东西。但是,另一个分支同时构建XXX主题和XXX-topic@script.It看起来Jenkins告诉Jenkins文件脚本的一切都是,它已超出定义的$WORKSPACE,而没有@script。即使在原生groovy中执行pwd也会告诉脚本它在$WORKSPACE中工作。这可能是一个bug。用户错误,只是注意到我没有“签出scm”步骤。哇,真有趣。谢谢你的帮助,格洛德!您可以假设,一旦文件开始处理,它就拥有存储库内容的副本。事实并非如此。为了将repo内容引入到流程中,您需要“checkout scm”`node('master'){checkout scm stage“Start”echo“Start”stage“Load File”def myJson=readFile“data.json”}`为什么要进行向下投票?这是一个有效的要求,op和其他人可能已经忘记了。为什么要投否决票?它至少解决了我的问题。向上投票。