git - 从 Jenkins 中删除 git 缓存

标签 git jenkins

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

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

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

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

最佳答案

今天遇到同样的事情,发现缓存在我的主服务器上的 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,用于识别正确的缓存。

关于git - 从 Jenkins 中删除 git 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43006049/

相关文章:

linux - 验证文件仅在两次提交之间的末尾被修改

git - 列出在 Travis 中的 pull 请求中修改的文件

git - Jenkins 无法连接到 gerrit 存储库(Windows 安装)

docker - docker'不被识别为内部或外部命令

git - Jenkins + Git + Artifactory 发布阶段

ios - 在 GIT 上提交 Crashlytics 框架

git push 失败,拒绝更新 stash 引用

git - 如何将多个 Git 存储库的更新保留为一个应用程序项目?

jenkins - 通过 url 传递选择参数以远程构建参数化作业

c# - 我可以使用 Jenkins 在 Ubuntu 上构建 C# 项目吗?