首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.nio.file.NoSuchFileException JENKINS

java.nio.file.NoSuchFileException JENKINS
EN

Stack Overflow用户
提问于 2021-08-04 19:11:20
回答 1查看 2.7K关注 0票数 1

我有下面的代码,对我不起作用。

代码语言:javascript
复制
  dir('anyName'){
    checkout scm: [$class: 'GitSCM', branches: [[name: PIPELINE_VERSION]],
      userRemoteConfigs: [[credentialsId: 'some-id', url: 'some git repo']]
    ]
  }

  def some = load "./pipelines/environment/some.groovy"

但我得到了以下错误。如何加载文件并在以后使用其内部功能。

/mnt/data/jenkins/workspace//pipelines/environment/some.groovy :java.nio.file.NoSuchFileException

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-04 20:54:42

来自目录步骤文档:

更改当前目录。dir块中的任何步骤都将使用此目录作为当前目录,而任何相对路径都将使用它作为基本路径。

dir命令只为在dir {}块内执行的代码更改基本目录,因此,当您在dir块之后加载文件时,您将返回到原始工作区,而找不到该文件。

要解决这个问题,可以使用完整的路径加载文件:

代码语言:javascript
复制
dir('anyName'){
    checkout scm: [$class: 'GitSCM', branches: [[name: PIPELINE_VERSION]],
                   userRemoteConfigs: [[credentialsId: 'some-id', url: 'some git repo']]
    ]
}
// From here we are back to the default workspace
def some = load "./anyName/pipelines/environment/some.groovy"

或者将文件加载到dir块中:

代码语言:javascript
复制
dir('anyName'){
    checkout scm: [$class: 'GitSCM', branches: [[name: PIPELINE_VERSION]],
                   userRemoteConfigs: [[credentialsId: 'some-id', url: 'some git repo']]
    ]
    def some = load "./pipelines/environment/some.groovy"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68656862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档