Jenkins管道如何更改到另一个文件夹

wan*_*ors 37 groovy jenkins jenkins-pipeline

目前我正在使用Jenkins管道脚本.

要运行一个命令,我需要访问其工作区目录之外的文件夹.

我试过sh "cd $workspace/",但它返回了当前的工作区文件夹.

如何更改到根工作空间目录,然后cd到另一个文件夹.请帮忙.

tsl*_*922 73

您可以使用dir步骤,例如:

dir("folder") {
    sh "pwd"
}
Run Code Online (Sandbox Code Playgroud)

folder可以是相对或绝对路径.

  • @DanDan 这个“dir”步骤之外的所有内容都是“向上返回”,另请参阅 Gonzalo Robert Diaz 的答案/示例:/sf/answers/4184343971/ (4认同)
  • 您是指`dir(“ $ {JENKINS_HOME} / workspace”)`吗? (3认同)

小智 28

所述dir包装可以包装,任何其他步骤,而这一切工作的内部steps块,例如:

steps {
    sh "pwd"
    dir('your-sub-directory') {
      sh "pwd"
    }
    sh "pwd"
} 
Run Code Online (Sandbox Code Playgroud)


Raj*_*rwa 25

使用 WORKSPACE 环境变量来更改工作区目录。

如果使用 Jenkinsfile,请使用以下代码:

dir("${env.WORKSPACE}/aQA"){
    sh "pwd"
}
Run Code Online (Sandbox Code Playgroud)

  • `dir('aQA')` 的工作方式相同。不需要那么复杂 (10认同)
  • 如果您想确保在工作空间的根目录中运行该命令怎么办? (3认同)