我已经使用 Git 有一段时间了。
最近,我开始探索 Jenkins,并设法使用 native Windows 安装程序进行设置。我在本地系统上创建了一个示例项目,并成功地使用 Jenkins 构建了它。
现在,我在远程服务器上有一个项目,我希望 Jenkins 使用 Git 提取此代码。
我做了以下事情:
1) 安装了 Git 插件。
2) 在 Jenkins > 管理 Jenkins > 配置系统 > Git > Git 安装 -
[也试过 C:\Program Files (x86)\Git\cmd\gitk.cmd 而不是 ....\git.exe]
3)在测试项目>配置下
4)最后,尝试构建它。但总是得到超时错误然后失败。
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/