Repo sync/Git 克隆仅从詹金斯的奴隶失败
Repo sync/Git clone is failed only from jenkins's slave
我从 jenkins slave 执行 repo sync
。
但是特定的 repogitory 发生了错误。
Cloning into 'repo_name'...
Connection to xxx.xxx.xxx.xxx closed by remote host.
fatal: The remote end hung up unexpectedly
当我手动执行时(不是从 jenkins 执行),回购同步成功。
以上错误仅在jenkins的slave执行时出现。
我也尝试下cmd。但它失败了同样的错误。
git clone ssh://user@xxx.xxx.xxx.xxx:port/path/to/reponame
我尝试git config --global http.postBuffer 524288000
参考以下内容。
但不是固定的....
The remote end hung up unexpectedly while git cloning
我添加--progress
和--verbose
进行调查
git clone --progress --verbose ssh://user@xxx.xxx.xxx.xxx:port/path/to/reponame
git克隆成功!!
为什么从詹金斯的奴隶那里失败了。
为什么添加成功了--progress --verbose
.
我可以在没有 --progress
的情况下修复它吗?
(从 jenkins 执行时,回购同步似乎没有 --progress
。)
抱歉我的英语不好。
这是一个常见问题,可能有不同的原因。
有时是由于您的从属机器的低数据速度。
参考这个,
谢谢
根据以下
https://issues.jenkins-ci.org/browse/JENKINS-9168
When cloning a large repository over HTTP, the git server goes quiet for quite some time, busy computing a pack file. Normally, Apache is configured such that a prolonged inactivity in a socket will trigger a shutdown. So what the end user sees is that after a while, "git clone" fails by the unexpected connection reset by the server.
但是,我无法配置服务器,因为服务器是 public 服务器。
所以,
If the user tries the same command from the shell, Git silently adds the --progress option (see the quote from the man page.) This keeps the socket chatty enough to avoid a shutdown from Apache.
另一方面,repo 无法添加 --progress 选项。
我别无选择,所以我 mod 回购脚本。
(.repo/repo/git_command.py)
我从 jenkins slave 执行 repo sync
。
但是特定的 repogitory 发生了错误。
Cloning into 'repo_name'...
Connection to xxx.xxx.xxx.xxx closed by remote host.
fatal: The remote end hung up unexpectedly
当我手动执行时(不是从 jenkins 执行),回购同步成功。 以上错误仅在jenkins的slave执行时出现。
我也尝试下cmd。但它失败了同样的错误。
git clone ssh://user@xxx.xxx.xxx.xxx:port/path/to/reponame
我尝试git config --global http.postBuffer 524288000
参考以下内容。
但不是固定的....
The remote end hung up unexpectedly while git cloning
我添加--progress
和--verbose
进行调查
git clone --progress --verbose ssh://user@xxx.xxx.xxx.xxx:port/path/to/reponame
git克隆成功!!
为什么从詹金斯的奴隶那里失败了。
为什么添加成功了--progress --verbose
.
我可以在没有 --progress
的情况下修复它吗?
(从 jenkins 执行时,回购同步似乎没有 --progress
。)
抱歉我的英语不好。
这是一个常见问题,可能有不同的原因。 有时是由于您的从属机器的低数据速度。
参考这个,
谢谢
根据以下
https://issues.jenkins-ci.org/browse/JENKINS-9168
When cloning a large repository over HTTP, the git server goes quiet for quite some time, busy computing a pack file. Normally, Apache is configured such that a prolonged inactivity in a socket will trigger a shutdown. So what the end user sees is that after a while, "git clone" fails by the unexpected connection reset by the server.
但是,我无法配置服务器,因为服务器是 public 服务器。 所以,
If the user tries the same command from the shell, Git silently adds the --progress option (see the quote from the man page.) This keeps the socket chatty enough to avoid a shutdown from Apache.
另一方面,repo 无法添加 --progress 选项。 我别无选择,所以我 mod 回购脚本。 (.repo/repo/git_command.py)