簡體   English   中英

Jenkins和Git稀疏結賬

[英]Jenkins and Git sparse checkouts

我在Git中有一個大型存儲庫。 如何在Jenkins中創建一個只從項目中檢出一個子文件夾的作業?

自git-plugin 2.1.0(2014年4月)以來, Jenkins Git Plugin支持稀疏檢出 此功能需要git> = 1.7.0。 它位於“附加行為” - >“稀疏結賬路徑”下。

截圖

見:Jira問題JENKINS-21809

您可以使用Git的稀疏結賬功能。 請注意,Git仍然將整個存儲庫克隆到本地磁盤。 然而,這並不是太糟糕,因為它是壓縮的。

  1. 在Jenkins中創建一個新作業,在源代碼管理部分設置Git存儲庫。
  2. 建立項目。 這會將整個存儲庫克隆到本地磁盤。
  3. 打開項目的工作區文件夾,刪除除.git文件夾之外的所有內容。
  4. 打開項目工作區文件夾的Git shell。 啟用稀疏檢查:

     git config core.sparsecheckout true 
  5. 更新工作樹:

     git read-tree -mu HEAD 
  6. 在.git / info文件夾中創建sparse-checkout文件。 添加要簽出到該文件的子文件夾的路徑,如下所示(注意尾部斜杠):

     folder/to/include/ 
  7. 再次構建項目。 這次只有一個子文件夾應出現在工作區文件夾中。

您可以使用自定義步驟

git checkout your-branch -- the/desired/path anthother/desired/path

要清除它,你可以只使用rm -rf工作文件夾並使用mkdir workingdir重新創建它。 這將要求您在上述命令的git級別指定此選項:

git --working-dir="/path/to/workingdir" checkout your-branch -- the/desired/path anthother/desired/path

這一切都取決於你對詹金斯的了解程度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM