Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jenkins MultiBranch Pipeline git config error

I've got a multi branch pipeline in jenkins, and when I was setting it up, I cancelled the initial scan of the gitlab branches job by hitting the red cross icon.

From that point on, I cannot get it to work properly.

I've pasted the error in below.

Here's the things I've tried to fix it.

  1. Restarted the software safely through the GUI
  2. Restarted the container
  3. Removed any folders in workspace folder on master and slave, connected with the git repository
  4. Searched both machines for any files ending in *.lock, nothing relevant found
  5. Created a new multibranch pipeline and used the same git repo, failed the same way.
  6. Created a new multibranch pipeline and used a different git repo but from the same server using the same credentials, worked.

I'm running out of ideas

It's like there is something cached on the jenkins side for this particular git repo.

Does anyone have any further suggestions for things I could try?

Thanks in advance

Started by user admin
[Mon May 20 15:38:34 UTC 2019] Starting branch indexing...
 > git --version # timeout=10
using GIT_ASKPASS to set credentials git
 > git ls-remote --symref  # timeout=10
 > git rev-parse --is-inside-work-tree # timeout=10
Setting origin to http://myserver/project.git
 > git config remote.origin.url http://myserver/project.git # timeout=10
ERROR: [Mon May 20 15:38:37 UTC 2019] Could not fetch branches from source 773e986b-d653-49c8-b3eb-7320be14e5aa
hudson.plugins.git.GitException: Command "git config remote.origin.url http://myserver/project.git" returned status code 255:
stdout: 
stderr: error: could not lock config file .git/config: File exists

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2042)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2010)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2006)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1638)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1650)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.setRemoteUrl(CliGitAPIImpl.java:1284)
    at hudson.plugins.git.GitAPI.setRemoteUrl(GitAPI.java:160)
    at jenkins.plugins.git.AbstractGitSCMSource.doRetrieve(AbstractGitSCMSource.java:352)
    at jenkins.plugins.git.AbstractGitSCMSource.retrieve(AbstractGitSCMSource.java:556)
    at jenkins.scm.api.SCMSource._retrieve(SCMSource.java:374)
    at jenkins.scm.api.SCMSource.fetch(SCMSource.java:284)
    at jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:634)
    at com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:277)
    at com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:165)
    at jenkins.branch.MultiBranchProject$BranchIndexing.run(MultiBranchProject.java:1025)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
[Mon May 20 15:38:37 UTC 2019] Finished branch indexing. Indexing took 2.4 sec
FATAL: Failed to recompute children of Foldername » MultiBranchPipeline
hudson.plugins.git.GitException: Command "git config remote.origin.url http://myserver/project.git” returned status code 255:
stdout: 
stderr: error: could not lock config file .git/config: File exists

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2042)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2010)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2006)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1638)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1650)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.setRemoteUrl(CliGitAPIImpl.java:1284)
    at hudson.plugins.git.GitAPI.setRemoteUrl(GitAPI.java:160)
    at jenkins.plugins.git.AbstractGitSCMSource.doRetrieve(AbstractGitSCMSource.java:352)
    at jenkins.plugins.git.AbstractGitSCMSource.retrieve(AbstractGitSCMSource.java:556)
    at jenkins.scm.api.SCMSource._retrieve(SCMSource.java:374)
    at jenkins.scm.api.SCMSource.fetch(SCMSource.java:284)
    at jenkins.branch.MultiBranchProject.computeChildren(MultiBranchProject.java:634)
    at com.cloudbees.hudson.plugins.folder.computed.ComputedFolder.updateChildren(ComputedFolder.java:277)
    at com.cloudbees.hudson.plugins.folder.computed.FolderComputation.run(FolderComputation.java:165)
    at jenkins.branch.MultiBranchProject$BranchIndexing.run(MultiBranchProject.java:1025)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE
like image 809
vandekerkoff Avatar asked Oct 25 '25 15:10

vandekerkoff


2 Answers

Had the same problem:

  1. Go to $JENKINS_HOME/caches (on windows it is probably C:\Program Files (x86)\Jenkins\caches) - You will find a few caches, each has .git/config file
  2. Read the .git/config until you find the one whose [remote "origin"] points to the git URL of the broken pipeline.
  3. Remove (or better, rename) this cahce's .git/config & .git/config.lock

Worked for me.

like image 162
lkanab Avatar answered Oct 27 '25 04:10

lkanab


I resolved it without requiring any Jenkins admin permissions by renaming the repository in question.

like image 24
Stefano Borzì Avatar answered Oct 27 '25 05:10

Stefano Borzì