Jenkins Pipeline Checkout SVN到自定义工作区

时间:2018-09-18 07:12:22

标签: jenkins svn jenkins-pipeline svn-checkout

此刻,我正在编写一个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文件夹中。

这是管道作业的控制台输出中的屏幕截图:enter image description here

如何实现自定义工作区中的结帐?

最好只在第一次签出时自己签出Jenkinsfile,而不是整个存储库。 我试图将repository url更改为(单独)保存Jenkinsfile的文件夹,但是管道也(仅)在第二次签出时签出了该文件夹。

在这里,我有一个控制台输出的屏幕截图:

1 个答案:

答案 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"
                }
            }
        }
    }
}