hipy_update.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. set -o errexit
  3. echo 'hipy日常更新'
  4. echo '本脚本测试环境为 wsl2-ubuntu22.04.3(LTS),其他linux环境根据自'
  5. echo '脚本自动备份hipy-server、hipy-ui'
  6. echo '如果脚本执行报错需要还原,请执行以下两条命令'
  7. echo 'rm -rf ./hipy-ui && mv ./bak/hipy-ui-bak ./hipy-ui'
  8. echo 'rm -rf ./hipy-server && mv ./bak/hipy-server-bak ./hipy-server'
  9. echo '还原两个源码目录'
  10. echo '清理旧数据库,并创建备份'
  11. mkdir -p ./bak
  12. mv ./hipy-ui ./bak/hipy-ui-bak
  13. cp -Raf ./hipy-server ./bak/hipy-server-bak
  14. rm -rf ./postgres
  15. mkdir -p postgres/data
  16. echo '开始从道长仓库更新 hipy-server 代码'
  17. cd ./hipy-server
  18. sleep 3
  19. git reset --hard
  20. git pull --force origin master:master
  21. sleep 3
  22. cd ..
  23. rsync -av ./bak/hipy-server-bak/app/t4/files/txt ./hipy-server/app/t4/files
  24. echo '开始从道长仓库更新 hipy-ui 代码'
  25. git clone https://github.com/hjdhnx/hipy-ui.git
  26. sleep 3
  27. echo '复制替换打包脚本防止报错'
  28. cp -Raf package.json ./hipy-ui/dashboard
  29. cp -Raf .env.staging ./hipy-ui/dashboard
  30. echo '复制node依赖到源码目录,因逻辑改变,此处需要较长时间,请耐心等待。。。'
  31. cp -Raf ./bak/hipy-ui-bak/dashboard/node_modules ./hipy-ui/dashboard
  32. sleep 3
  33. echo '启动前端 UI 打包 node 容器'
  34. docker run -itd -v /home/hipy/hipy-ui/dashboard:/home/node -w /home/node --name hipy-node node
  35. sleep 3
  36. echo '开始打包前端 UI'
  37. docker exec hipy-node npm i
  38. ssleep 3
  39. docker exec hipy-node npm run build:stage
  40. echo '初始化数据'
  41. docker exec hipy-server python3 initial_data.py
  42. sleep 3
  43. echo '重启所有容器'
  44. docker restart $(docker ps -a -q)
  45. echo '停止前端 UI 打包 node 容器'
  46. docker stop -t=10 hipy-node
  47. docker rm -f hipy-node
  48. echo '删除所有备份文件'
  49. rm -rf ./bak
  50. echo 'HIPY所有内容均已更新完成'
  51. echo '感谢道长的HIPY项目'
  52. sleep 3