main.yml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. name: push code
  2. on:
  3. push:
  4. branches:
  5. - main # 这里表示push到main分支就会触发流程
  6. workflow_dispatch:
  7. jobs:
  8. deploy_job:
  9. runs-on: ubuntu-20.04
  10. steps:
  11. # 这是github官方的一个action,用于clone该仓库的源码到工作流中,
  12. - name: Checkout 🛎️
  13. uses: actions/checkout@v2
  14. with:
  15. persist-credentials: false
  16. # 安装 sed 工具
  17. # - name: Install Sed Tool (Optional)
  18. # run: sudo apt update && sudo apt install -y sed
  19. # 连接到ssh,并且做一个拷贝操作的action
  20. - name: deploy
  21. uses: easingthemes/ssh-deploy@main
  22. env:
  23. # 本地.ssh文件下的私钥id_rsa,存在secrets的PRIVATE_KEY中
  24. SSH_PRIVATE_KEY: ${{ secrets.KEY_DEBIAN}}
  25. # 复制操作的参数。"-avzr --delete"意味部署时清空服务器目标目录下的文件
  26. ARGS: "-avzr --delete"
  27. # 源目录,相对于$GITHUB_WORKSPACE根目录的路径
  28. SOURCE: "app/"
  29. # 服务器域名/IP
  30. REMOTE_HOST: ${{ secrets.SSH_HOST }}
  31. # 服务器用户名
  32. REMOTE_USER: ${{ secrets.SSH_USER }}
  33. # 目标目录
  34. TARGET: '/home/www/hipy/app'
  35. # 排除目录
  36. EXCLUDE: "configs,db/hipy.db,main.py"
  37. SCRIPT_BEFORE: docker stop hipy-server
  38. SCRIPT_AFTER: |
  39. chmod -R 777 /home/www/hipy/app
  40. docker restart hipy-server