Jenkins 管道 - git checkout 到工作区中的文件夹而无需擦除

Ser*_*gio 5 jenkins-pipeline

我想查看我的部署脚本,这些脚本驻留在我工作区中部署文件夹的单独存储库中。该文件夹中已经有一些文件,问题是在签出脚本期间文件夹被清除。我需要一种方法来保存这些文件。

用于结帐的代码:...

steps{ checkout( [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'deployment']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'secret', url: 'https://bitbucket.org/secret/deploy_scripts.git']]]) }

任何帮助将不胜感激!

Sys*_*nin 5

更改结帐步骤的文件夹怎么样?

像这样[测试]:

node(){
    stage("checkout"){
        // `dir` step will create folder in workspace, if it is not exist
        dir('speacial_folder_for_git'){
            //git checkout here
            checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'alexkh_git_credentials', url: 'http://localhost:7990/scm/tes/mytestrepo.git']]]
        }
        // change current directory back, to workspace:
        dir('')
        {
            //do your job out of git folder
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

来自的文件git checkout将被放入\speacial_folder_for_git\您的工作区,而此文件夹外(但在工作区内)的其他文件保持不变