概述
有段时间我一直在思考,我这云服务器用来部署这个文档的话,有什么轻量并且可靠点的工具来帮我实现CI/CD?
你还真别说,研究了一番发现了这个问题的答案是:GitHub Actions
。
确实很好用,有了他,我每次提交这个文档项目到GitHub就可以自动触发CI/CD流程,从而实现文档的自动更新。
接下来做个文档,记录一下配置方法,以防以后自己忘记怎么操作了。
配置方法
准备一个GitHub账号,如果没有的话,请注册一个。
登录GitHub,找到你要部署CI/CD项目,点击右上角的“Actions”按钮,然后点击“New workflow”按钮。
选择模板,因为我的项目是基于VuePress搭建的,所以我选择的是Nodejs模板。
配置流程
接下来我们正式开始配置工作流程。
这个时候你应该已经进入一个yml
文件编辑的页面了,接下来直接贴我的配置:
1 | name: Deploy to Server |
配置详解
接下来容我拆分一下这个配置,介绍下这个配置的详细含义。
1. 触发条件
1 | on: |
2. 构建环境
1 | jobs: |
3. 拉取代码
1 | - name: Checkout code |
4. 安装 Node.js
1 | - name: Set up Node.js |
5. 安装依赖并构建
1 | - name: Install dependencies and build |
6. 设置 SSH 连接
1 | - name: Set up SSH |
7. 部署到服务器
1 | - name: Deploy to server |
8. 配置 Secrets
最后,我们需要在 GitHub 项目的 Settings -> Secrets 页面配置以下 Secrets,这一步必须要做,毕竟肯定不能把隐私信息暴露到配置文件,以免造成安全隐患。
SSH_PRIVATE_KEY
:SSH 私钥,用于连接服务器。SERVER_IP
:服务器 IP,用于连接服务器。SERVER_USER
:服务器用户名,用于连接服务器。
配置完成后,我们就可以愉快的玩耍了。每次推送代码到 GitHub,GitHub Actions 就会自动触发 CI/CD 工作流,自动将打包好的文档部署到服务器。
总结
通过上面的配置,我们成功实现了文档的自动更新,而且还能自动部署到服务器,接下来你配置好了的话,就可以尝试推送代码,看看Actions是否能正常工作了。
这个玩法我现在都还在使用,哈哈哈。太轻量方便了,不用部署Jenkins,不用搭建环境,直接用GitHub Actions就搞定了。
注意事项
最后注意一下,看看你的本地项目根目录下有没有一个.github/workflows/deploy.yml
文件,如果没有的话你自己手动创建一个,然后把你的yml配置粘贴进去就行了。