如何让jenkins-git-scm集成在获取master之前运行prune?
问题
在节点上运行的作业的master上,Jenkins管道作业在工作区获取期间无法启动。如果我们运行git remote prune origin,问题就会清除。Master需要维护一个工作空间,以便加载jenkins文件,确定要使用的节点并来回序列化命令。
工作区在某种程度上由于ref冲突而损坏,我想让jenkins自动修剪以避免这个潜在的问题。
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to
fetch from git@github.com
error: cannot lock ref 'refs/remotes/origin/user/fix/master/TICKET':
'refs/remotes/origin/user/fix/master' exists;
cannot create 'refs/remotes/origin/user/fix/master/TICKET'
! [new branch] user/fix/master/TICKET -> origin/user/fix/master/TICKET
(unable to update local ref)
如何让jenkins在获取之前(也许在获取之后)在主工作区中自动修剪?
为了避免共享库或任何git克隆出现此问题,您可以添加一些修剪选项。考虑到我们的共享库可以在大约2秒内从无到有进行克隆,我们选择添加Wipe out repository & force clone
选项。