Jenkins MultiBranch 管道 git 配置错误

van*_*off 3 git jenkins gitlab

我在 jenkins 中有一个多分支管道,当我设置它时,我通过点击红十字图标取消了 gitlab 分支作业的初始扫描。

从那时起,我无法让它正常工作。

我在下面粘贴了错误。

这是我试图解决的问题。

  1. 通过 GUI 安全重启软件
  2. 重新启动容器
  3. 删除master和slave上的workspace文件夹中的所有文件夹,连接到git仓库
  4. 在两台机器上搜索任何以 *.lock 结尾的文件,没有找到相关的
  5. 创建了一个新的多分支管道并使用相同的 git repo,以同样的方式失败。
  6. 创建了一个新的多分支管道并使用了不同的 git 存储库,但使用相同的凭据来自同一服务器,工作正常。

我的想法不多了

就像在 jenkins 端为这个特定的 git repo 缓存了一些东西。

有没有人对我可以尝试的事情有任何进一步的建议?

提前致谢

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
Run Code Online (Sandbox Code Playgroud)

lka*_*nab 8

有同样的问题:

  1. 转到 $JENKINS_HOME/caches(在 Windows 上它可能是 C:\Program Files (x86)\Jenkins\caches) - 你会发现一些缓存,每个都有 .git/config 文件
  2. 阅读 .git/config,直到找到 [remote "origin"] 指向损坏管道的 git URL 的那个。
  3. 删除(或者更好地,重命名)这个 cahce 的 .git/config & .git/config.lock

为我工作。