2014-01-15 157 views
1

我在Git中拥有非常大的存储库,并且在Jenkins中创建了一个工作,该工作仅从该项目中检出一个子文件夹,然后执行此步骤Jenkins and Git sparse checkouts。 问题是,当我或我的一些同事从Jenkins擦除当前工作区时,info/sparse-checkout也被删除。Jenkins和Git info/sparse-checkout

我该如何解决这个问题,而无需每次为同一项工作创建信息/稀疏检出?

+1

当您擦除WS时,它会删除.git文件夹。这是保存稀疏结帐文件“.git/info/sparse-checkout”的文件夹 – OK999

回答

0

我认为它目前不可能与单独的git插件(也许你扩展它)。

我看到这两个可能的解决方案:

  • 您使用插件(EnvInject+Pluginpre-scm-buildstep)单片机结账前执行shell脚本。该脚本必须看起来像apenwarrs answer

  • 你在Ant/Maven/Grunt/Whatever中有一个任务,它设置了稀疏结帐(我目前做的)。将你的工作设置为平时,并在所有其他人之前执行新任务。

2

根据this詹金斯支持门票这是最近增加。正如我目前正在通过这个工作,我会尽量记住更新我的进展。

澄清 - 詹金斯的Git Sparse Checkout显然通过Jenkins Plugin支持截至31/Mar/14。我没有这个插件的经验,说它的工作原理。不过,我希望很快将这个插件添加到我们的Jenkins系统中,并报告其成功。

+0

请提供一个明确的答案。 – ElectronicGeek

+2

@ElectronicGeek - 个人试图找到一种方式利用詹金斯内部的Git进行稀疏结账,因为另一个堆栈溢出文章中提供的“解决方法”不适用于他。我给了他一个Jenkins票据的链接,该链接提供了最近完成的Jenkins插件的实现,它完全实现了这一点。之后我的评论意味着我没有亲身体验这个插件按照广告的方式工作,并且我目前也在尝试使用它。对不起,我不清楚。 – bakerhillpins

+0

谢谢。如果它不解决问题,尽量不要发布答案,那么这不是一个真正的答案。 – ElectronicGeek