【问题标题】:Remove git cache from Jenkins从 Jenkins 中删除 git 缓存
【发布时间】:2020-04-27 16:20:54
【问题描述】:

我正在尝试从 Maven 创建一个版本,但我收到了 git tag already exists 错误,即使我已从本地计算机和远程存储库中删除了该标签。

This question 有同样的问题,但对于 Bamboo 而不是 Jenkins。 The solution 是删除 Bamboo 中缓存 Git 配置的文件:

<BAMBOO_HOME>/xml-data/build-dir/_git-repositories-cache

我怎样才能对 Jenkins 做同样的事情?

【问题讨论】:

    标签: git jenkins


    【解决方案1】:

    今天遇到同样的事情,找到缓存在我的主服务器上的 git 存储库 /var/lib/jenkins/caches 如果你有很多 git 存储库,你需要尝试找到你的特定存储库,因为它们是按哈希而不是按名称列出的。

    [jenkins@jenkinsmaster caches]$ pwd
    /var/lib/jenkins/caches
    [jenkins@jenkinsmaster caches]$ ls -als
    ...
    4 drwxr-xr-x.  3 jenkins jenkins 4096 Nov  8 09:10 git-bbcfdeb24494d83c13621c40b3b14ffd
    4 drwxr-xr-x.  2 jenkins jenkins 4096 Nov  8 09:10 git-bbcfdeb24494d83c13621c40b3b14ffd@tmp
    ...
    

    一旦我找到了正确的(通过进入每个并运行 git tag -l 来寻找我不需要的标签。我刚刚从该目录中删除了 git-<hash>git-<hash>@tmp 文件夹。重新运行我的作业和源再次完全签出,没有不需要的标签。:^)

    请注意,如下所述,您可以在 Jenkins 脚本控制台中运行:
    println('git-'+hudson.Util.getDigestOf('remote')) 其中remote 是 git 远程的 URL,以识别正确的缓存。

    【讨论】:

    • 太棒了!非常感谢!在 Jenkins 崩溃后,我收到了各种奇怪的 git-fetch 消息。他们都消失了!
    • 如果您可以访问脚本控制台,您可以通过以下方式找到缓存目录的名称:println('git-'+hudson.Util.getDigestOf(remote)) 其中 remote 是您用于 git repo 的实际 URL/远程字符串跨度>
    • 清理整个 /var/lib/jenkins/caches/* 是否安全?
    • 想知道同样的@RahulMohan 你删除它了吗?如果删除它会导致问题
    • 我删除 /var/lib/jenkins/caches/* 没有任何问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 2014-08-18
    • 2011-09-21
    • 1970-01-01
    相关资源
    最近更新 更多