使用 Jenkins git 插件的凭据

Posted

技术标签:

【中文标题】使用 Jenkins git 插件的凭据【英文标题】:Credentials on using Jenkins git plugin 【发布时间】:2014-09-22 05:06:45 【问题描述】:

我们已经安装了 Git 服务器和 Jenkins(git 插件)。安装成功。但是当我们在 Jenkins 上为构建配置作业时,我们遇到了以下问题:

Started by user admin
[EnvInject] - Loading node environment variables.
Building in workspace C:\Program Files (x86)\Jenkins\jobs\HSH\workspace
> C:\Program Files (x86)\Git\bin\git.exe rev-parse --is-inside-work-tree
Fetching changes from the remote Git repository
> C:\Program Files (x86)\Git\bin\git.exe config remote.origin.url http://localhost/Bonobo.Git.Server/HomeScreenHome.git
Fetching upstream changes from http://localhost/Bonobo.Git.Server/HomeScreenHome.git
> C:\Program Files (x86)\Git\bin\git.exe --version
FATAL: Failed to fetch from http://localhost/Bonobo.Git.Server/HomeScreenHome.git
hudson.plugins.git.GitException: Failed to fetch from http://localhost/Bonobo.Git.Server/HomeScreenHome.git
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:622)
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:854)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:879)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1254)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:624)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:530)
    at hudson.model.Run.execute(Run.java:1732)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:234)
Caused by: hudson.plugins.git.GitException: Failed to connect to http://localhost/Bonobo.Git.Server/HomeScreenHome.git using credentials  (status = 502)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.checkCredentials(CliGitAPIImpl.java:2111)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1151)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$200(CliGitAPIImpl.java:87)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:265)
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:620)
... 10 more

我们有一个配置了凭据和 Http Url localhost/Bonobo.Git.Server/HomeScreenHome.git 的 git 服务器。我们已经为 Jenkins Git 插件配置了 Git 存储库 url 和相对于存储库的凭据。

我们不知道为什么会出现 502 状态错误,以及为什么 git clonegit fetch 只能使用 git。

【问题讨论】:

【参考方案1】:
    如果它在本地主机上,你不能简单地使用file:///...吗? Jenkins 可能会在不同的用户下运行,因此使用普通用户进行克隆并不能说明 Jenkins 可以做什么。您需要在 Manage Jenkins -> Configure System 下添加正确的凭据

【讨论】:

以上是关于使用 Jenkins git 插件的凭据的主要内容,如果未能解决你的问题,请参考以下文章

如何为 jenkins git 插件指定 ssh 密钥

Maven 发布插件 git 凭据

使用凭据签出 Jenkins Pipeline Git SCM?

在 git jenkins 中找不到存储库

如何根据 git 分支设置不同的 Jenkins 凭据?

jenkins 加速安装插件