Jenkins管道-未找到文件异常

用户名

尽管文件在预期的位置可用,但我在jenkins中得到的文件也不例外。我在这里试图做的是,获取最新的提交文件并存储在filescommitted变量中,然后将其作为输入传递给readJSON文件。似乎传递了变量值,但无法在该位置找到文件。

错误:

java.io.FileNotFoundException: /appl/JenkinsSlave/workspace/SDA_WIP_development/RA agent/java-infra-war-tomcat-piaas.json
 does not exist.

仅当我对文件名进行硬编码时才有效

readJSON file: "java-infra-war-tomcat-piaas.json"

在以下情况下不起作用。有人可以给我打电话什么问题吗?

readJSON file: filesCommitted
readJSON file: "${env.WORKSPACE}/${filesCommitted}"
readJSON file: "${WORKSPACE}/${filesCommitted}"

Jenkins管道脚本:

import groovy.json.JsonSlurper
        import groovy.json.*
        import groovy.json.JsonBuilder

        node('java'){
            def gitURL = Git_URL as String
            def branchName = Branch as String
            def GitHubCredentialsId = GitHub_Credentials_Id as String
            def filesCommitted

            stage('Clean')
            {
              deleteDir()   
            }

            stage('SCM')
            {
                git branch: branchName, credentialsId: GitHubCredentialsId, url: gitURL
                filesCommitted = sh(script:'git diff --name-only HEAD^', returnStdout:true)
                def files = sh(script: "find . -name '*.json'", returnStdout:true)    
                println ("new files commited:" + filesCommitted)
                println ("all files commited:" + files)
                sh "pwd"
                sh "ls"
            }

            stage('Add agents in RA'){
                //def infra_file = unstashParam "infrafile"
                //println(infra_file)
                println(env.WORKSPACE)
                println (filesCommitted)
                def projects = readJSON file: "${env.WORKSPACE}/${filesCommitted}"
                println(projects)
             }
}

完整的jenkins控制台输出:

[Pipeline] sh
+ git diff --name-only 'HEAD^'
[Pipeline] sh
+ find . -name '*.json'
[Pipeline] echo
new files commited:java-infra-war-tomcat-piaas.json

[Pipeline] echo
all files commited:./java-infra-ear-jboss-piaas.json
./java-infra-war-tomcat-piaas.json
./java-infra-war-tomcat-piaas_demo.json
./angular-infra-zip-iis-piaas.json
./dotnet-infra-zip-iis-piaas.json

[Pipeline] sh
+ pwd
/appl/JenkinsSlave/workspace/SDA_WIP_development/RA agent
[Pipeline] sh
+ ls
angular-infra-zip-iis-piaas.json
dotnet-infra-zip-iis-piaas.json
java-infra-ear-jboss-piaas.json
java-infra-war-tomcat-piaas_demo.json
java-infra-war-tomcat-piaas.json
README.md
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Add agents in RA)
[Pipeline] echo
java-infra-war-tomcat-piaas.json

[Pipeline] readJSON
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
java.io.FileNotFoundException: /appl/JenkinsSlave/workspace/SDA_WIP_development/RA agent/java-infra-war-tomcat-piaas.json
 does not exist.
zett42

filesCommitted内容结尾似乎有多余的换行符

尝试这个:

filesCommitted = sh(script:'git diff --name-only HEAD^', returnStdout:true).trim()

def projects = readJSON file: filesCommitted

使用时,通常会trim()sh步骤中添加returnStdout:true这将删除返回字符串前后的所有多余空格。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Jenkins 管道文件存在,否则

来自分类Dev

Xamarin文件未找到异常

来自分类Dev

在Jenkins管道中解析XML文件

来自分类Dev

在Jenkins管道中解析XML文件

来自分类Dev

在 Jenkins 管道中使用外部 Groovy 文件

来自分类Dev

Jenkins 管道 - 如何获取 git 文件路径

来自分类Dev

在外部文件上定义 Jenkins 管道

来自分类Dev

Jenkins 管道存储不存储文件

来自分类Dev

Jenkins:在管道Jenkins文件中执行AWS CLI命令

来自分类Dev

Laravel 7中未找到文件异常

来自分类Dev

Laravel 文件存储链接未找到异常

来自分类Dev

在Jenkins管道中解析pom.xml文件

来自分类Dev

在Jenkins脚本化管道中编写Yaml文件

来自分类Dev

Jenkins声明式管道@tmp文件夹

来自分类Dev

在jenkins声明式管道文件中重用groovy脚本

来自分类Dev

如何从Jenkins管道编辑Windows中文件的内容?

来自分类Dev

Jenkins 管道 - 在工作区中创建文件(Windows Slave)

来自分类Dev

如何在 Jenkins 管道中读取配置文件

来自分类Dev

Transformer.transform(..引发IO异常/未找到文件异常

来自分类Dev

Jenkins 作业在尝试执行文本替换时返回未找到的文件

来自分类Dev

当每个文件都应符合标准时,为什么 Jenkins 会说“未找到工件”?

来自分类Dev

如何将Jenkins DSL文件重新编写为Jenkins管道jenkinsfile?

来自分类Dev

不允许使用“文件未找到”异常,但这是必需的

来自分类Dev

MongoDB驱动程序抛出文件未找到异常

来自分类Dev

运行.jar文件时未找到Maven和Class异常

来自分类Dev

激活器ui java.io文件未找到异常

来自分类Dev

即使该位置有图像,文件未找到异常

来自分类Dev

在Jenkins脚本化管道方法中检查数组中的空指针异常

来自分类Dev

Jenkins构建管道文件在库文件中加载不起作用

Related 相关文章

  1. 1

    Jenkins 管道文件存在,否则

  2. 2

    Xamarin文件未找到异常

  3. 3

    在Jenkins管道中解析XML文件

  4. 4

    在Jenkins管道中解析XML文件

  5. 5

    在 Jenkins 管道中使用外部 Groovy 文件

  6. 6

    Jenkins 管道 - 如何获取 git 文件路径

  7. 7

    在外部文件上定义 Jenkins 管道

  8. 8

    Jenkins 管道存储不存储文件

  9. 9

    Jenkins:在管道Jenkins文件中执行AWS CLI命令

  10. 10

    Laravel 7中未找到文件异常

  11. 11

    Laravel 文件存储链接未找到异常

  12. 12

    在Jenkins管道中解析pom.xml文件

  13. 13

    在Jenkins脚本化管道中编写Yaml文件

  14. 14

    Jenkins声明式管道@tmp文件夹

  15. 15

    在jenkins声明式管道文件中重用groovy脚本

  16. 16

    如何从Jenkins管道编辑Windows中文件的内容?

  17. 17

    Jenkins 管道 - 在工作区中创建文件(Windows Slave)

  18. 18

    如何在 Jenkins 管道中读取配置文件

  19. 19

    Transformer.transform(..引发IO异常/未找到文件异常

  20. 20

    Jenkins 作业在尝试执行文本替换时返回未找到的文件

  21. 21

    当每个文件都应符合标准时,为什么 Jenkins 会说“未找到工件”?

  22. 22

    如何将Jenkins DSL文件重新编写为Jenkins管道jenkinsfile?

  23. 23

    不允许使用“文件未找到”异常,但这是必需的

  24. 24

    MongoDB驱动程序抛出文件未找到异常

  25. 25

    运行.jar文件时未找到Maven和Class异常

  26. 26

    激活器ui java.io文件未找到异常

  27. 27

    即使该位置有图像,文件未找到异常

  28. 28

    在Jenkins脚本化管道方法中检查数组中的空指针异常

  29. 29

    Jenkins构建管道文件在库文件中加载不起作用

热门标签

归档