使用jenkins groovy从git签出特定文件夹;结帐;命令

使用jenkins groovy从git签出特定文件夹;结帐;命令,jenkins,jenkins-groovy,Jenkins,Jenkins Groovy,我是jenkins和groovy的新手,我正在尝试在我的jenkins文件中进行稀疏签出。目前我只是这样做: stage('Check out branch from Gitlab'){ echo 'Pulling...' + env.BRANCH_NAME checkout scm } 我希望从Jenkins Groovy脚本执行稀疏签出,我正在努力找到一种好的方法。有没有办法使用“checkout”命令来执行此操作?您应该为GitSCM配置一组参数 基本配置如下所示: p

我是jenkins和groovy的新手,我正在尝试在我的jenkins文件中进行稀疏签出。目前我只是这样做:

stage('Check out branch from Gitlab'){ 
    echo 'Pulling...' + env.BRANCH_NAME
    checkout scm
}

我希望从Jenkins Groovy脚本执行稀疏签出,我正在努力找到一种好的方法。有没有办法使用“checkout”命令来执行此操作?

您应该为GitSCM配置一组参数

基本配置如下所示:

pipeline { 
    agent any
    stages {     
        stage ("Git Checkout"){ 
            steps {
            script {
                    checkout([
                        $class: 'GitSCM',
                        branches: [[name: "devel"]],
                        doGenerateSubmoduleConfigurations: false,
                        extensions: [[
                            $class: 'RelativeTargetDirectory',
                            relativeTargetDir: "/tmp/jenkins/devel"
                        ]],
                        submoduleCfg: [],
                        userRemoteConfigs: [[
                            credentialsId: 'jenkinsCredentialsId',
                            url: 'https://git.example.com/git/example'
                        ]]
                    ])
                
                }
            }
        } 
    }
}
我附上了一个完整的工作詹金斯管道的一个阶段。它检查存储库的分支
devel
https://git.example.com/git/example目录下的
/tmp/jenkins/devel
。另外请注意,您应该在Jenkins credentials(/Jenkins/credentials/)中添加(如果尚未添加)存储库的凭据,在上面的示例中,在id
Jenkins CredentialsId


您可以阅读GitSCM的链接,以了解可配置的更多详细信息和属性。

您应该为GitSCM配置一组参数

基本配置如下所示:

pipeline { 
    agent any
    stages {     
        stage ("Git Checkout"){ 
            steps {
            script {
                    checkout([
                        $class: 'GitSCM',
                        branches: [[name: "devel"]],
                        doGenerateSubmoduleConfigurations: false,
                        extensions: [[
                            $class: 'RelativeTargetDirectory',
                            relativeTargetDir: "/tmp/jenkins/devel"
                        ]],
                        submoduleCfg: [],
                        userRemoteConfigs: [[
                            credentialsId: 'jenkinsCredentialsId',
                            url: 'https://git.example.com/git/example'
                        ]]
                    ])
                
                }
            }
        } 
    }
}
我附上了一个完整的工作詹金斯管道的一个阶段。它检查存储库的分支
devel
https://git.example.com/git/example目录下的
/tmp/jenkins/devel
。另外请注意,您应该在Jenkins credentials(/Jenkins/credentials/)中添加(如果尚未添加)存储库的凭据,在上面的示例中,在id
Jenkins CredentialsId

您可以阅读GitSCM的链接,以了解可以配置的更多详细信息和属性