作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这里有一个奇怪的问题。当我们的所有 48 台服务器都尝试从 Git 中 pull 数据时,我们不断收到远程主机关闭的连接。当直接运行 .sh
文件时(它有 git pull 代码),没有问题,除非它与另一个 pulls (*/5
cron工作)。
下面是运行.sh
文件:
#!/bin/bash
BRANCH=master
BASE_DIR=/root/api
if [ ! -d $BASE_DIR ]; then
mkdir -p $BASE_DIR
fi
cd $BASE_DIR
if [ ! -d .git ]; then
git init
git remote add origin git@bitbucket.org:deximedia/api_nodejs.git
git pull origin $BRANCH
forever start $BASE_DIR/call/index.js
elif [[ $(git ls-remote origin -h refs/heads/master | awk '{ print $1 }') != $(git rev-list --max-count=1 master) ]]; then
git pull origin $BRANCH
forever stop $BASE_DIR/call/index.js
forever start $BASE_DIR/call/index.js
fi
下面是我们在所有服务器尝试运行上述 .sh 文件时看到的错误:
ssh_exchange_identification: Connection closed by remote host
fatal: The remote end hung up unexpectedly
ssh_exchange_identification: Connection closed by remote host
fatal: The remote end hung up unexpectedly
最佳答案
当我们的 CI 系统试图基本上同时从一个简单的 ssh git 设置中获取多个分支时,我们遇到了同样的问题。我怀疑切断连接的 ssh 服务器有问题。
对我来说,在/etc/ssh/sshd_config 中设置 MaxStartups 解决了这个问题。我们系统的默认值是 10:30:60。将其设置为 100 会禁用概率方法,并仅允许 100 个并发连接启动。根据需要进行调整,具体取决于您希望支持的并发连接设置的数量,例如,在您的 CI 中通过 SSH 从 git 同时获取的已启用构建作业的数量。
关于Git 错误 : "fatal: The remote end hung up unexpectedly",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24461339/
我是一名优秀的程序员,十分优秀!