我有一个Jenkins工作,它使用Git插件来克隆存储库。我已经将它配置为从Repositories --> Advanced中的一个参数中获取refspec配置(希望对多个refspecs使用相同的作业)。
在我选择Advanced clone behaviors中的"Honor refspec on initial clone“选项之前,这个方法运行良好:
> git fetch --progress git@REDACTED ${REFSPEC}
> git config remote.origin.url git@REDACTED # timeout=10
> git config --add remote.origin.fetch ${REFSPEC} # timeout=10
> git config remote.origin.url git@REDACTED # timeout=10
Fetching upstream changes from git@REDACTED
using GIT_SSH to set credentials
> git fetch --progress git@REDACTED +refs/heads/*:refs/remotes/origin/*
this is correct ^^^^正如您所看到的,虽然第二次获取正确地解析了参数$REFSPEC,但是初始获取并没有解析该参数。
我是做错了平滑操作,还是这是个bug?我们的克隆时间已经到了顶峰,我们需要我们能得到的每一个优化。我可以将所有可能的refspecs添加到配置中(这是受支持的),但这会显著增加克隆时间。
发布于 2018-03-03 01:33:52
这是一个错误。由于refspec参数在不使用“初始克隆时的荣誉refspec”时会扩展,因此当与“初始克隆上的荣誉refspec”一起使用时,也应该遵守该参数。
提交一个git-plugin bug来跟踪问题。有关相关错误,请参阅JENKINS-49758。
https://stackoverflow.com/questions/42999973
复制相似问题