【问题标题】:How to set specific workspace folder for jenkins multibranch pipeline projects如何为詹金斯多分支管道项目设置特定的工作区文件夹
【发布时间】:2021-03-15 14:10:16
【问题描述】:

我有一个外部工具,应该在我的詹金斯工作之一中称为构建步骤。不幸的是,该工具在引用命令方面存在一些问题,以避免调用路径中出现空格问题。

Jenkins 安装在C:\Program Files (x86)\Jenkins。因此,jenkins 调用外部工具时遇到问题。

我尝试将 Jenkins->configuration 中的“工作区根目录”设置为 C:\jenkins_workspace 以避免任何空格。这适用于 Freestyle Projects,但我的 Multibranch Pipeline Project 仍然在 C:\Program Files (x86)\Jenkins\workspace 下签出和构建。

一种解决方案是将整个 jenkins 安装移动到例如C:\jenkins。这是我想避免的。是否有适当的方法来告诉 Jenkins Pipeline 作业也使用“工作区根目录”?

感谢您的帮助

【问题讨论】:

  • 感谢 Olivier 的改进..

标签: jenkins jenkins-pipeline


【解决方案1】:

ws 指令为其中的命令设置工作空间。对于声明式管道,它是这样的:

ws("C:\jenkins") {
  echo "awesome commands here instead of echo"
}

您还可以调用脚本来构建要使用的 customWorkspace:

# if the current branch is master, this helpfully sets your workspace to /tmp/ma
partOfBranch = sh(returnStdout: true, script: 'echo $BRANCH_NAME | sed -e "s/ster//g"')
path = "/tmp/${partOfBranch}"
sh "mkdir ${path}"
ws(path) {
  sh "pwd"
}

您还可以通过使用agent 块(通常在pipeline 块的顶部)将其应用于该级别的node 来全局设置它:

pipeline {
  agent {
    node {
      label 'my-defined-label'
      customWorkspace '/some/other/path'
    }
  }
  stages {
    stage('Example Build') {
      steps {
        sh 'mvn -B clean verify'
      }
    }
  }
}

稍后的另一条node 指令可能会覆盖它。在https://jenkins.io/doc/book/pipeline/syntax/ 搜索customWorkspace。您也可以将它与dockerdockerfile 指令一起使用。

【讨论】:

  • 感谢 Kevin,这适用于 ws 主体中的所有命令。有没有办法为詹金斯管道文件中的所有阶段设置工作区?否则我必须在每个阶段重复 ws("C:\jenkins" ...
  • 很好,代理部分解决了我的问题。谢谢 - 回答被接受:-)
  • @burnettk 你知道是否有办法调用脚本来构建要使用的 customWorkspace?我想根据分支的名称提取正则表达式的名称。
  • 已编辑以包含此问题的答案。下次不要害怕提交新问题。 :)
  • “customWorkspace”指令在脚本化管道中不起作用
【解决方案2】:

试试这个语法:

pipeline {
    agent { 
        label {
            label 'EB_TEST_SEL'
            customWorkspace "/home/jenkins/workspace/ReleaseBuild/${BUILD_NUMBER}/"
        }
    }
}

【讨论】:

  • 根据the docs,应该是node,而不是agent部分中的label
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-14
相关资源
最近更新 更多