【问题标题】:Jenkins pipeline how to change to another folderJenkins管道如何更改到另一个文件夹
【发布时间】:2019-02-21 15:56:52
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: jenkins groovy jenkins-pipeline


    【解决方案1】:

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

    dir("folder") {
        sh "pwd"
    }
    

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

    【讨论】:

    • 但它会进入当前工作文件夹。我想切换到詹金斯工作区
    • 你怎么回去向上?
    • @DanDan 此dir 步骤之外的所有内容都是“向上”,另请参见 Gonzalo Robert Diaz 的答案/示例:stackoverflow.com/a/59776342/757308
    • 请注意,目录之外的目录已重置。它不像外壳中的cd directory
    • 当我尝试运行 sh 'git add .'在“文件夹”中,它向我抛出了这个错误: + git add 。致命:不是 git 存储库(或任何父目录):.git
    【解决方案2】:

    dir 包装器可以包装任何其他步骤,并且这一切都在 steps 块内工作,例如:

    steps {
        sh "pwd"
        dir('your-sub-directory') {
          sh "pwd"
        }
        sh "pwd"
    } 
    

    【讨论】:

      【解决方案3】:

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

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

      dir("${env.WORKSPACE}/aQA"){
          sh "pwd"
      }
      

      【讨论】:

      • dir('aQA') 的工作方式相同。不需要那么复杂
      猜你喜欢
      • 2019-02-11
      • 2023-01-17
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      相关资源
      最近更新 更多