詹金斯在挂着“读取从起点上游的变化”(Jenkins hanging at “Fetching up

2019-08-18 06:22发布

我试图建立一个詹金斯在Windows Server 2012的计算机上,并且我有很多困难。

我做的事:

  • 创建一个无密码的id_rsa ,和id_rsa.pub
  • 创建一个known_hosts使用bitbucket.org文件ssh.exe -T bitbucket.org并接受添加的主机。
  • 新增E:全系统的HOME变量
  • 我已经添加了这些文件到C:/Windows/SysWOW64/config/systemprofile/.ssh以及E:/.ssh
  • 我挂我的公钥到位桶作为部署的关键。
  • 我有三重检查了所有我的网址,用户名等。
  • 我甚至手动从仓库拉到建立的初始基地在C:/Program Files (x86)/Jenkins/jobs/MyProject/workspace/

但它仍然挂在

Building in workspace C:\Program Files (x86)\Jenkins\jobs\MyProject\workspace
Checkout:workspace / C:\Program Files (x86)\Jenkins\jobs\MyProject\workspace - hudson.remoting.LocalChannel@13ca972
Using strategy: Default
Fetching changes from 1 remote Git repository
Fetching upstream changes from origin

我已经给它20分钟左右,所以它不是回购问题的速度/大小。 如果我取消,这是返回什么:

ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway
hudson.plugins.git.GitException: Error performing command: C:\Program Files     (x86)\Git\bin\git.exe fetch -t origin +refs/heads/*:refs/remotes/origin/*
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:780)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:739)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.fetch(CliGitAPIImpl.java:160)
at hudson.plugins.git.GitAPI.fetch(GitAPI.java:230)
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:793)
at hudson.plugins.git.GitSCM.access$000(GitSCM.java:57)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:976)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:942)
at hudson.FilePath.act(FilePath.java:865)
at hudson.FilePath.act(FilePath.java:838)
at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:942)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1101)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1364)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:670)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:575)
at hudson.model.Run.execute(Run.java:1575)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:237)
Caused by: java.lang.InterruptedException
at java.lang.ProcessImpl.waitFor(Native Method)
at hudson.Proc$LocalProc.join(Proc.java:319)
at hudson.Launcher$ProcStarter.join(Launcher.java:360)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:769)
... 19 more
ERROR: Could not fetch from any repository
FATAL: Could not fetch from any repository
hudson.plugins.git.GitException: Could not fetch from any repository
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:981)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:942)
at hudson.FilePath.act(FilePath.java:865)
at hudson.FilePath.act(FilePath.java:838)
at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:942)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1101)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1364)
at     hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:670)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:575)
at hudson.model.Run.execute(Run.java:1575)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:237)

我在束手无策就在这里,所以我感谢所有帮助我能。 以下是我已经没有改善试过选择几篇文章。

验证詹金斯CI为Github的私人仓库

拒绝权限设置詹金斯时(公钥)

哈德逊Git的插件不工作的窗口

http://computercamp.cdwilson.us/jenkins-git-clone-via-ssh-on-windows-7-x64

Answer 1:

以下是我固定一个类似的问题:

Msysgit安装了两个git.exe 。 下一个C:\Program Files (x86)\Git\bin下的第二个C:\Program Files (x86)\Git\cmd 。 第一个不能与詹金斯一起使用。 在完成它的工作后,它会挂起。 第二个完美的作品。

更新您的Git詹金斯设置指向正确的cmd\git.exe和享受!



Answer 2:

这是我如何解决它:

我跑的Sysinternals工具PSEXEC产卵这是在LocalSystem帐户下运行CMD(同一帐号像詹金斯服务正在运行)

PSEXEC -i -s -d CMD

在该命令提示符我从工作区目录执行的相同的git命令作为挂GIT.exe过程做。 例如

d:\程序\詹金斯\作业\作业名\工作空间> d:\程序\ GIT中\ BIN \ git.exe取-t SSH + GIT中://gitpub@my.server.com:9360 /数据/ gitpub / myRepository。混帐+裁判/头/:裁判/遥控器/产地/

等瞧:我被提示输入“是” SSH密钥添加到已知主机的已知列表。



Answer 3:

而就在“撷取来自原产上游的变化”,以及体验冻结。

运行詹金斯作为一个基于Windows的计算机上的服务似乎(从我的经历),以使用SSL时遇到的问题。

解决方法解决方案]

  1. 改变你的詹金斯服务在本地帐户下运行。
  2. 确保您的本地管理员帐户被配置为使用SSH进行Git的互动。
  3. 重新启动詹金斯( 详细信息 )。
  4. 如果詹金斯没有启动,它不得不试图从Git的拉问题。 人工捕杀的git和ssh进程,杀掉从詹金斯您的java.exe和手动启动该服务詹金斯。

为什么我选择这个解决方案详情]

我建立授权的主机接受服务器和注册詹金斯的服务器上的关键允许连接之前,已按照其他步骤。 我确信我可以演我的下本地系统帐户(其中詹金斯服务被下运行)Git的行动。 尽管如此,取将冻结。 要检查我的Git和SSL配置正确,我还跟初始配置Git仓库在我詹金斯作业目录中,并进行了成功拉入请求在本地系统帐户下 。 有效; 因此密钥已正确安装了。

我忘了,我看这个,但听说在本地系统使用Git / SSH打交道时出现的问题。 有了这些知识,我打我的Git的环境,改变了GIT_SSH环境变量使用砰砰 (用腻子的组合来记住服务器密钥,的puttygen到OpenSSL的密钥转换为腻子键和选美记住我的钥匙)的砰砰。 一旦我得到了它的工作砰砰,我不觉得这是一个可用的解决方案。 我为了正确使用砰砰,我只好也运行在我的本地系统帐户选美有詹金斯服务正确协商SSH调用。 想我会怎样正确设置我在重新启动初始状态,我不想把所有的精力投入到刚刚起步的SSH连接工作之后。

相反,我决定是容易只是运行詹金斯在其下还配置处理Git的服务器我的本地管理员帐户。 没有不必处理配置SSH密钥对本地系统帐户和我的混帐行为的罚款。


请注意,大卫Gageot的回答可以适用于一些。 我没有改变我的任何的Git设置,当我安装了Git的,我选择的选项Run Git from the Windows Command Prompt它映射到一个路径C:\Program Files (x86)\Git\bin\cmd\目录。



Answer 4:

我使用MSI安装程序时,在Windows上配置詹金斯时,特别是发现了非常有益的另一个环节是这样的: http://opensourcetester.co.uk/2013/06/28/jenkins-windows-ssh/

和一个我没有找到更为明显的事情是:你必须连接到Github上,而不是默认的HTTPS之一,当使用SSH URL。 希望这将节省时间的人。



Answer 5:

我对我的笔记本电脑同样的问题,我能找出一个解决方案,但是这个,如果你正在运行在Tomcat Web容器是设置为Windows服务的詹金斯战争真的只适用。

我不得不设置Tomcat服务登录我的Windows用户,而不是本地系统。



Answer 6:

对我来说,这是在$ HOME /的.ssh文件夹及其内容的权限。 将它设置为可见的特定用户群之后,詹金斯才得以获取重启后的变化。



Answer 7:

Git的客户端的Windows版本2.6.1修复了詹金斯这个问题。 现在,“读取从起点上游的变化”没有任何延迟。

我现在用的是git的cmd在詹金斯从:

C:\ Program Files文件\的Git \ CMD \ git.exe



Answer 8:

我花了几个小时试图弄清楚这一点,我发现,添加密码回购网址解决了该问题:

https://USERNAME:PASSWORD@bitbucket.org/REPO.git

请注意用户名和密码之间



文章来源: Jenkins hanging at “Fetching upstream changes from origin”
标签: git ssh jenkins