我有一个使用Git插件克隆存储库的Jenkins作业。我已将其配置为从存储库 - >高级中的参数中获取refspec配置(想要为多个refspecs使用相同的作业)。
这很有效,直到我在高级克隆行为中选择“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,尽管第二次提取正确执行。
我做错了,或者这是一个错误吗?我们的克隆时间是通过屋顶,我们需要我们可以得到的每一个优化。我可以将所有可能的refspec添加到配置中(这是受支持的),但这会显着增加克隆时间。
那是一个错误。由于refspec参数在没有“初始克隆时的荣誉参考规范”的情况下使用时会扩展,因此当与“初始克隆上的荣誉参考规范”一起使用时,也应当尊重它。
提交git-plugin错误来跟踪问题。有关相关错误,请参阅JENKINS-49758。