【问题标题】:Jenkins and Git info/sparse-checkoutJenkins 和 Git 信息/稀疏结帐
【发布时间】:2014-01-15 15:31:02
【问题描述】:

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

如何解决这个问题,而不必每次都为同一个作业创建 info/sparse-checkout?

【问题讨论】:

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

标签: git jenkins sparse-checkout


【解决方案1】:

根据this Jenkins 支持票,这是最近添加的。由于我目前正在处理此问题,因此我会尽量记住更新我的进度。

[编辑] 澄清一下 - 截至 2014 年 3 月 31 日,Jenkins Plugin 显然支持 Jenkins 中的 Git Sparse Checkout。我没有使用这个插件的经验说它有效。不过,我希望尽快将此插件添加到我们的 Jenkins 系统中,并报告它的成功。

【讨论】:

  • 请给出明确的答案。
  • @ElectronicGeek - 这个人试图找到一种方法,利用 Jenkins 内部的 Git 进行稀疏结帐,因为另一篇堆栈溢出文章中提出的“解决方法”对他不起作用。我给了他一个指向 Jenkins 票证的链接,该票证提供了最近完成的 Jenkins 插件的实现。之后我的评论意味着我没有个人经验表明该插件可以像宣传的那样工作,并且我目前也在尝试使用它。抱歉,我不清楚。
  • 谢谢。如果它不能解决问题,请尽量不要发布答案,那么它不是真正的答案。
  • @ElectronicGeek:它确实解决了问题,还有什么不清楚的地方?他可以安装新开发的正确支持 Git 稀疏检出的 Jenkins 插件。问题解决了。
【解决方案2】:

我认为目前仅使用 git 插件是不可能的(也许你扩展了它)。

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

  • 您使用插件(EnvInject+Plugin 或 pre-scm-buildstep)在 SCM 检出之前执行 shell 脚本。脚本必须看起来像 apenwarrs answer。

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

【讨论】:

    猜你喜欢
    • 2012-06-03
    • 2020-11-23
    • 2012-03-23
    • 2017-06-07
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 2019-11-19
    • 2011-09-08
    相关资源
    最近更新 更多