进入流水线语法
仓库设置
新增选项
Sparse Checkout paths
是只clone指定的目录或者某个具体文件
检出到子目录
是将目标仓库clone到指定目录(无需创建目录)
具体语法
// 将目标仓库内的test.sh文件clone到temp文件夹下,多个文件就多个[path: '1.txt'],之间使用逗号分开
checkout([$class: 'GitSCM', branches: [[name: '*/main']], extensions: [[$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: 'test.sh']]], [$class: 'RelativeTargetDirectory', relativeTargetDir: 'temp']], userRemoteConfigs: [[credentialsId: '5561c197-********d161cbf7', url: 'http://xx.xx.xx.xx/jenkins/scripts.git']]])
//多个指定文件示例
checkout([$class: 'GitSCM', branches: [[name: '*/main']], extensions: [[$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: 'test.sh'], [path: '1.txt']]], [$class: 'RelativeTargetDirectory', relativeTargetDir: 'temp']], userRemoteConfigs: [[credentialsId: '5561c197-********d161cbf7', url: 'http://xx.xx.xx.xx/jenkins/scripts.git']]])
会在workspace目录下的temp文件夹下存在一个test.sh的文件
验证
temp文件夹下只有一个test.sh文件并没有将test-file.txt克隆下来