jenkins和Git稀疏结账
我在Git有一个大的仓库。 如何在Jenkins中创build一个只从项目中检出一个子文件夹的作业?
自从git-plugin 2.1.0(2014年4月)以来, Jenkins Git Plugin支持稀疏检出 。 这个function需要git> = 1.7.0。 它在“附加行为” – >“稀疏检查path”下。
  
 
请参阅:Jira issue JENKINS-21809
您可以使用Git的稀疏结帐function。 请注意,Git仍将整个存储库克隆到本地磁盘。 然而,这不是太糟糕,因为它是压缩的。
- 在Jenkins中创build一个新的工作,在Source Code Management部分设置Git仓库。
- build立这个项目。 这会将整个存储库克隆到本地磁盘。
- 打开项目的工作区文件夹,删除除.git文件夹以外的所有内容。
- 
打开项目工作空间文件夹的Git shell。 启用稀疏检出: git config core.sparsecheckout true
- 
更新工作树: git read-tree -mu HEAD
- 
在.git / info文件夹中创build sparse-checkout文件。 添加path到您要签出该文件的子文件夹,如下所示(注意尾部斜线):folder/to/include/
- 
再次build立该项目。 这次只有一个子文件夹应该出现在工作区文件夹中。 
你可以有一个自定义的步骤,只是使用
 git checkout your-branch -- the/desired/path anthother/desired/path 
 要清除它,你只需要rm -rf工作文件夹,然后用mkdir workingdir重新创build它。 这将需要你在上面的命令的git级别指定这个选项: 
 git --working-dir="/path/to/workingdir" checkout your-branch -- the/desired/path anthother/desired/path 
这一切取决于你如何知道jenkins。