我们有一个使用Jenkins配置的自动构建系统,与Gerrit集成。今天的瓶颈之一是由于存储库大小,Jenkins需要大约3.5分钟才能为每个构建完成一个“git clone”。使用“git archive”进行相同的退房大约需要12秒钟。
Jenkins的gerrit插件可以配置为使用“git archive”吗?这将显着缩短我们的构建时间。
答案 0 :(得分:5)
虽然似乎不可能使用未修改版本的Git插件,但我确实分两步完成了这项工作:
1) Change SCM to "None" for the particular job.
2) Add a build step at the beginning to checkout using "git archive"
以下是步骤2)的示例。
git archive --format=tar --remote=git://host/repo ${GERRIT_REFSPEC} > ${BUILD_ID}.tar && tar xvf ${BUILD_ID}.tar && rm ${BUILD_ID}.tar