-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Jenkins 2.249.2
Git plugin 4.4.4
As requested in allowSecondFetch ** documentation I am opening a ticket.
After upgrading git plugin to version 4.4.4 (can't recall the previous version), my Jenkins job started to fail on the checkout step because it requires the version tags, defined as bellow:
stage('Checkout') { retry(3) { scmvars = checkout([ $class : 'GitSCM', branches : scm.branches, doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations, extensions : scm.extensions + [$class: 'CloneOption', noTags: false, reference: '~/git/service-sourcing/', shallow: false] + [$class: 'LocalBranch', localBranch: "**"] + [$class: 'UserIdentity', email: 'dev@nezasa.com', name: 'Jenkins CI'], userRemoteConfigs : scm.userRemoteConfigs ]) } }
Before the update the job used to output this during checkout:
**
05:16:32 > git fetch --no-tags --force --progress -- git@github.com:nezasa/tb-service-sourcing.git +refs/heads/develop:refs/remotes/origin/develop +refs/heads/*:refs/remotes/origin/* # timeout=10 05:16:35 Fetching without tags 05:16:35 > git config remote.origin.url git@github.com:nezasa/tb-service-sourcing.git # timeout=10 05:16:35 > git config --add remote.origin.fetch +refs/heads/develop:refs/remotes/origin/develop # timeout=10 05:16:35 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 05:16:35 > git config remote.origin.url git@github.com:nezasa/tb-service-sourcing.git # timeout=10 05:16:35 Fetching upstream changes from git@github.com:nezasa/tb-service-sourcing.git 05:16:35 using GIT_SSH to set credentials Github SSH Key for common libraries access 05:16:35 > git fetch --tags --force --progress -- git@github.com:nezasa/tb-service-sourcing.git +refs/heads/develop:refs/remotes/origin/develop +refs/heads/*:refs/remotes/origin/* # timeout=10
After the update the output is (Git is now Avoiding second fetch):
**
05:16:59 > git fetch --no-tags --force --progress -- git@github.com:nezasa/tb-service-sourcing.git +refs/heads/develop:refs/remotes/origin/develop +refs/heads/*:refs/remotes/origin/* # timeout=10 05:17:01 Avoid second fetch 05:17:01 Checking out Revision 68628022e4553cacb97377dfd35d54c3d3d3734f (develop) 05:17:01 > git config remote.origin.url git@github.com:nezasa/tb-service-sourcing.git # timeout=10 05:17:01 > git config --add remote.origin.fetch +refs/heads/develop:refs/remotes/origin/develop # timeout=10 05:17:01 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 05:17:01 > git config core.sparsecheckout # timeout=10 05:17:01 > git checkout -f 68628022e4553cacb97377dfd35d54c3d3d3734f # timeout=10 05:17:01 > git branch -a -v --no-abbrev # timeout=10 05:17:02 > git checkout -b develop 68628022e4553cacb97377dfd35d54c3d3d3734f # timeout=10
Adding allowSecondFetch flag and setting it to true on the global settings seems to fix the issue but I was expecting that the Advanced Clone Setting on the job would be enough.
jose_pedro_sa I can't reliably duplicate the problem. I've seen a single failure in the tests I've run. That failure was the 6th run of a multibranch pipeline that used GitHub as the provider. Builds 1-5 passed. Builds 7 and beyond passed. Only build 6 failed and reported that the --no-tags argument was used in the git fetch. I don't know what was different about that build.
No other multi-branch pipeline failed. The job with the git plugin as provider passed. The job using JGit as the implementation passed. Various permutations of job settings all passed.
Refer to my job definition that I used in my attempt to duplicate the problem. That attempt automatically ran the job in several different configurations of multi-branch pipeline.
Please provide additional details that will allow others to duplicate the issue.
Some of the questions to be answered include: