我在博客说发现一篇有意思的文章:「通过GitHub Action将博客网站等静态文件同步到云服务器」,快点击阅读原文看看吧!
之前在博客网站更新总结-2023一文中简单提到过,借助Github action(使用easingthemes/ssh-deploy)将hexo静态博客同步到云服务器,实现自动化部署。 最近在折腾mkdocs,再次使用到通过Github Action将自动生成的静态文件部署到云服务器功能。这里做些详细总结,笔记。 将文件同步到远端服务器,可以使用ftp,sftp,ssh等协议。对于云服务器,通过ssh协议同步文件是很好的选择。这里我介绍的easingthemes/ssh-deploy即是利用Liunx/Unix下的rsync(remote synchronize)工具,借助ssh协议,实现本地端(Github)与云服务器端的文件同步。 在Github marketplace商店里能搜索到很多与easingthemes/ssh-deploy类似的同步工具,原理及使用大同小异。 ssh-deploy代码示例 采用ssh-deploy同步文件的代码示例:(可任意命名为.github/workflow/ci.yml) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ## 部署到服务器 - name: Deploy to VPS uses: easingthemes/ssh-deploy@main env: # 托管在Github里的远程VPS服务器.ssh文件下的私钥id_rsa SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY_BJ_IPC }} # rsync的同步命令参数 ARGS: "-avzr --delete" # Github workplace里生成的静态文件目录,即需要同步到远端VPS的文件/文件夹。 SOURCE: "./site/" ...