travis-ci 脚本用 scp 复制文件到另一个文件夹耗时巨长

clipboard.png

yml脚本

language: node_js
node_js:
- 8.9.1
branchs:
  only:
  - master
cache:
  apt: true
  directories:
  - node_modules
install:
- git pull
- rm -f package-lock.json && npm install
script:
- npm run build
after_success: 
- chmod 600 ~/.ssh/id_rsa
- rm -rm travis@xxx.xx.xxx.xx:/var/www/react_pc/*
- scp -o stricthostkeychecking=no -r ./build/* travis@xxx.xx.xxx.xx:/var/www/react_pc
before_install:
- openssl aes-256-cbc -K $encrypted_dfd5fdc6b788_key -iv $encrypted_dfd5fdc6b788_iv
  -in id_rsa.enc -out ~/.ssh/id_rsa -d

最后一步

scp -o stricthostkeychecking=no -r ./build/* travis@118.24.157.36:/var/www/react_pc

经常需要执行好多分钟,甚至有时候会超时导致失败=。=
请问这有什么解决方法。

阅读 3.2k
2 个回答

解决了。删除

travis@xxx.xx.xxx.xx:

改成

after_success: 
- chmod 600 ~/.ssh/id_rsa
- rm -rm /var/www/react_pc/*
- scp -o stricthostkeychecking=no -r ./build/* /var/www/react_pc

即可

怀疑是网络问题,可以在脚本里用 ping 118.24.157.36 -c 4 诊断一下,打印 hostname 输出一下。如果确定是网络问题,那么要么在请求中使用代理,要么将 CI 和部署服务器部署在网络节点相近的地方。如果不是,就gg

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题