此刻,我正在编写一个Jenkins Pipeline脚本(声明式)。基本上是这样的:
pipeline {
agent any
environment {
NLS_LANG = 'GERMAN_GERMANY.AL32UTF8'
}
stages {
stage('Test') {
steps {
script {
echo "Test"
}
}
}
}
}
脚本本身可以正常工作。但是现在我们发现,jenkins首先检出SVN存储库以找到Jenkins文件(在workspace@script
> job Folder
的文件夹C:\jenkins_home\jobs\<Projectname>\jobs\<Jobname>
中检出)。
在第二步中,我再次没有检出整个SVN,我没有在Jenkinsfile中写过(标题:“ Declarative: SCM Checkout
”)。
如果我们可以更改此签出的路径,那就可以了,因为目前它签入到workspace
中新创建的job folder
文件夹中。
如何实现自定义工作区中的结帐?
最好只在第一次签出时自己签出Jenkinsfile,而不是整个存储库。
我试图将repository url
更改为(单独)保存Jenkinsfile的文件夹,但是管道也(仅)在第二次签出时签出了该文件夹。
答案 0 :(得分:2)
遇到此问题时可能会涉及的对象:使用ws('/ path / to / dir')分配其他目录(请参见Pipeline: Nodes and processes)
pipeline {
agent any
environment {
NLS_LANG = 'GERMAN_GERMANY.AL32UTF8'
}
stages {
stage('Test') {
steps {
script {
echo "Test"
ws('/path/to/dir'){
//dosomething here, like "checkout scm"
}
}
}
}
}