git - Jenkins 和 Git 配置问题

标签 git jenkins jenkins-plugins

我已经使用 Git 有一段时间了。

最近,我开始探索 Jenkins,并设法使用 native Windows 安装程序进行设置。我在本地系统上创建了一个示例项目,并成功地使用 Jenkins 构建了它。

现在,我在远程服务器上有一个项目,我希望 Jenkins 使用 Git 提取此代码。

我做了以下事情:

1) 安装了 Git 插件。
enter image description here

2) 在 Jenkins > 管理 Jenkins > 配置系统 > Git > Git 安装 -

enter image description here

[也试过 C:\Program Files (x86)\Git\cmd\gitk.cmd 而不是 ....\git.exe]

3)在测试项目>配置下
enter image description here

4)最后,尝试构建它。但总是得到超时错误然后失败。
enter image description here

Started by user anonymous
Building in workspace C:\Program Files (x86)\Jenkins\workspace\GitTest
 > C:\Program Files (x86)\Git\cmd\git.exe rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > C:\Program Files (x86)\Git\cmd\git.exe config remote.origin.url ssh://git@<the-url-to-the-server>demo_android.git # timeout=10
Fetching upstream changes from ssh://git@<the-url-to-the-server>demo_android.git
 > C:\Program Files (x86)\Git\cmd\git.exe --version # timeout=10
 > C:\Program Files (x86)\Git\cmd\git.exe fetch --tags --progress ssh://git@<the-url-to-the-server>demo_android.git +refs/heads/*:refs/remotes/origin/* # timeout=60
FATAL: Failed to fetch from ssh://git@<the-url-to-the-server>demo_android.git
hudson.plugins.git.GitException: Failed to fetch from ssh://git@<the-url-to-the-server>demo_android.git
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:647)
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:889)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:914)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1258)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:622)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:528)
    at hudson.model.Run.execute(Run.java:1759)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:89)
    at hudson.model.Executor.run(Executor.java:240)
Caused by: hudson.plugins.git.GitException: Command "C:\Program Files (x86)\Git\cmd\git.exe fetch --tags --progress ssh://git@<the-url-to-the-server>demo_android.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: ssh: connect to host git.us1.adeptra.com port 7999: Bad file number
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1435)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1223)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:85)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:280)
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:645)
    ... 10 more

我究竟做错了什么?我需要提供凭据吗? (我试过它也失败了)

最佳答案

解决了! SSH key 有一个密码短语。我删除了它,它运行良好。

按照链接中的说明删除了密码短语 -

http://www.thinkplexx.com/learn/howto/security/ssl/remove-passphrase-password-from-private-rsa-key

关于git - Jenkins 和 Git 配置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26647165/

相关文章:

git - 如何交互式地挑选

ant - Jenkins:如何使工具中的某些日志消息导致构建失败?

jenkins - Jenkins正在构建时,有没有办法显示临时不可用的页面?

Jenkins 节点启动卡住

git - "tags"是 git 中的保留关键字吗?

git - 将 github(企业)repo 配置为仅允许快进提交/PR merge ?

git - 无法运行 TortoiseGit + cntlm + 代理服务器

java - 如何通过避免注册表设置来加速 Selenium/Junit 测试执行

jenkins - 将 Jenkins 中的工作输出传递给另一个工作

jenkins - 列出在特定从节点上运行的所有作业