jenkins在结账前擦除存储库并强制克隆vs Clean

时间:2017-02-17 19:03:14

标签: git jenkins

我试图了解两个选项“擦除存储库和强制克隆”和“清理结帐前”之间的差异来拉动git repo。看两个选项的帮助部分,两者似乎都有类似的功能,我无法弄清楚差异。这是他们看起来的样子:

  

擦除存储库&强制克隆:

     
    

在构建之前删除工作区的内容,确保完全新鲜的工作区。

  
     

结账前清洁

     
    

通过删除所有未跟踪的文件和目录(包括.gitignore中指定的文件和目录),在每次结帐前清理工作区。它还会将所有跟踪的文件重置为其版本状态。这可确保工作空间处于与在全新的空目录中克隆和签出时相同的状态,并确保您的构建不受先前构建生成的文件的影响。

  

我找不到两个选项之间的任何比较;既不是Jenkins / GitPlugin wiki,也不是堆栈溢出,甚至不是谷歌。我们目前有两种选择,但我们计划通过删除“擦除存储库和强制克隆”选项来缩短构建时间。但是我不想在这样做时破坏任何功能。如果您确定,请解释其中的区别。在此先感谢:)

1 个答案:

答案 0 :(得分:33)

擦除存储库&强制克隆将清理整个项目工作区并在构建之前再次克隆项目。它可能耗费时间取决于项目规模。如果项目为1GB,则每次构建时都会下载1GB。

结帐前清理删除作为构建的一部分创建的文件 - 说出您的测试结果等 - 如果文件已更新,则重置文件&如果已更新,则会提取最新更改。 这可确保工作区处于与您在全新的空目录中克隆和签出的状态相同的状态。它仅下载可能为几MB的增量。所以它耗时较少。

因此,您可以继续使用结帐前清洁,而不会影响构建。 已使用此选项超过4年没有任何问题。