Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Cannot Reproduce
-
None
-
Development
Description
The git checkout is much slower even after using reference repositories, shallow clones etc.
Running the same commands via the command line is much faster. I am using the latest version of all the plugins.
If you look at the below output, it runs the fetch more than once.
09:53:13 Cloning the remote Git repository 09:53:13 Using shallow clone 09:53:13 Avoid fetching tags 09:53:13 Cloning repository git@xxxxxxx:xxxx/xxxxxxx.git 09:53:13 > git init /srv/jenkins/workspace/shared-buck-2-master # timeout=10 09:53:14 Using reference repository: /var/lib/jenkins/reference-repositories/xxxxxx.git 09:53:14 Fetching upstream changes from git@xxxxx:xxxx/xxxxxxx.git 09:53:14 > git --version # timeout=10 09:53:14 > git fetch --no-tags --progress git@xxxxxx:xxxx/xxxxxxx.git +refs/heads/*:refs/remotes/xxxxxxx/* --depth=1 09:54:15 > git config remote.xxxxxxx.url git@xxxxxxxx:xxxxx/xxxxxxxx.git # timeout=10 09:54:15 > git config --add remote.xxxxxxxx.fetch +refs/heads/*:refs/remotes/xxxxxxx/* # timeout=10 09:54:15 > git config remote.xxxxxxx.url git@xxxxxxxx:xxxxx/xxxxxxx.git # timeout=10 09:54:15 Fetching upstream changes from git@xxxxxxxx:xxxx/xxxxxxx.git 09:54:15 > git fetch --no-tags --progress git@xxxxxxxx:xxxxx/xxxxxxxx.git +refs/heads/*:refs/remotes/xxxxxx/* --depth=1 09:54:18 > git rev-parse 87dc72cf506dcf684775c7e3be56184e09c44701^{commit} # timeout=10 09:54:18 Checking out Revision 87dc72cf506dcf684775c7e3be56184e09c44701 (detached) 09:54:18 > git config core.sparsecheckout # timeout=10 09:54:18 > git checkout -f 87dc72cf506dcf684775c7e3be56184e09c44701 09:54:46 Commit message: "@MS-123 - Increase the jvm memory size for the bat tests"
Attachments
Issue Links
- relates to
-
JENKINS-30600 git isn't run inside build container
-
- Open
-
Thanks markewaite.
I suppose withGitCredentials will be useful either way. I've had a need for that previously, and instead have had to workaround the issue.
We're using job-dsl, so everything is already in git. Although, I'd love to move wipe out repository option to the pipeline, but I have on found the option in the directive generator. Maybe I'm missing something?
I'm aware of the change history, it's not a huge issue for us. This specific job is running a test suite against our live environment. In this scenario multibranch isn't usable for us. We're planning to multibranch pipelines for other things, though the limitation of not being able to specify subdirectory to look at for monorepo setups (like github-branch-pr-change-filter but for branches). There's a Jira raised on that, but doesn't seem to be have been acted on.
Re github provider, non-multibranch pipeline doesn't seem to support anything but git and mercurial. So we're unable to use that.
That's all useful feedback, and appreciate it. Though the slow checkout is still an issue. It's extremely painful. Is there anything I can do to help have this debugged? Running almost the exact same setup locally (though, through docker), the checkout is as fast as I expect it to be.