我现在使用dokku和数字海洋一段时间没有任何问题
现在使用以下命令部署到dokku时遇到问题:
git remote add dokku dokku@some-ip:myapp
git push dokku develop:master
我有以下问题:
Counting objects: 528, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (509/509), done.
packet_write_wait: Connection to some-ip port 22: Broken pipe
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'dokku@some-ip:myapp'
我试试
ServerAliveInterval
git config http.postBuffer 209715200
/ git config ssh.postBuffer 209715200
但它不起作用。我认为这是因为要推送的内容的大小有点高......
感谢您的帮助!
更新
将postBuffer
选项设置为值209715200
后,出现以下错误:
Counting objects: 528, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (353/353), done.
Timeout, server some-ip not responding.38.00 KiB/s
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'dokku@some-ip:myapp'
上传暂停前的最后一次进度提示是:
Writing objects: 87% (466/531), 33.85 MiB | 120.00 KiB/s
答案 0 :(得分:3)
首先,这个
git config http.postBuffer 209715200 / git config ssh.postBuffer 209715200
只要您推动SSH(端口22),不会有任何区别:
packet_write_wait: Connection to some-ip port 22: Broken pipe
您的错误与配置无关,但是您和目标点之间的互联网连接不良/带宽较低,导致大型数据包在tcp中丢失并丢失。
它广泛讨论了here。尝试:
1)切换到http(由于头部开销略小,这会增加制动器的大小限制)
2)减少回购协议大小(repack or gc --aggressive)
However,只有当你即将到达那里时,这才有效。如果您的连接非常糟糕,那么您无法进行物理传输(也因为包含多个标头)数据包,那么这是唯一的解决方法:
增加带宽(切换到LAN,更改网络等)。 这可能是客户端和接收端的要求。
答案 1 :(得分:0)
通常在服务器内存不足时发生。您可以将更多内存添加到服务器或设置交换空间。以下脚本将创建2GB的交换空间。
sudo install -o root -g root -m 0600 /dev/null /swapfile
dd if=/dev/zero of=/swapfile bs=1k count=2048k
mkswap /swapfile
swapon /swapfile
echo "/swapfile swap swap auto 0 0" | sudo tee -a /etc/fstab
sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf