我有一个外部工具,应该在我的一个jenkins工作中调用build-step。不幸的是,这个工具在引用命令方面存在一些问题,以避免调用路径中的空格问题。
Jenkins安装在C:\Program Files (x86)\Jenkins
中。因此,我在使用jenkins调用外部工具时遇到了麻烦。
我尝试的是设置"工作区根目录"在Jenkins->配置到C:\jenkins_workspace
以避免任何空格。这适用于Freestyle Projects,但我的Multibranch Pipeline Project仍然在C:\Program Files (x86)\Jenkins\workspace
下签出并构建。
一种解决方案是将整个jenkins安装移到例如C:\jenkins
。这个我想避免。有没有一种方法可以告诉Jenkins Pipeline工作使用"工作区根目录"还有吗?
感谢您的帮助
答案 0 :(得分:18)
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
。您也可以将其与docker
和dockerfile
说明一起使用。
答案 1 :(得分:0)
试试这个语法:
select id,
to_date(substr(lastmodifieddate, instr(lastmodifieddate, '(') + 2, 10), 'yyyy-mm-dd') datum
from x_task
where to_date(substr(lastmodifieddate, instr(lastmodifieddate, '(') + 2, 10), 'yyyy-mm-dd') >= to_date('2020-05-31', 'YYYY-MM-DD')
and to_date(substr(lastmodifieddate, instr(lastmodifieddate, '(') + 2, 10), 'yyyy-mm-dd') < to_date('2020-06-30', 'YYYY-MM-DD');