GitHub Actions 自动化部署入门

GitHub Actions 自动化部署入门
Yuban前言
在现代开发中,手动部署不仅耗时,还容易出错。GitHub Actions 作为 GitHub 提供的 CI/CD(持续集成与持续部署)服务,可以帮你在代码提交、合并甚至定时任务时,自动执行构建、测试和部署操作。
今天我就带你从零开始,学会用 GitHub Actions 自动化部署项目。
一、什么是 GitHub Actions?
GitHub Actions 是 GitHub 内置的自动化工具,可以在你的仓库内设置一系列工作流(workflow),让代码在触发条件下自动执行指定任务,比如:
- 自动构建和打包
- 自动部署到服务器或云平台
- 自动执行单元测试
- 自动生成文档
简单来说,就是让部署从“手动点击”变成“自动触发”。
二、创建你的第一个工作流
- 在你的项目根目录创建
.github/workflows
文件夹 - 新建一个
deploy.yml
文件 - 编写一个最简单的部署示例:
1 | name: Deploy Website |
这样,每次你往 main
分支推送代码,GitHub Actions 都会自动执行部署流程。
三、Secrets 配置
为了安全起见,敏感信息(服务器 IP、账号、密码、API Key 等)不要直接写进 YAML 文件。
在仓库 Settings → Secrets and variables → Actions 里添加变量,例如:
SERVER_HOST
:服务器 IPSERVER_USER
:服务器用户名SERVER_KEY
:SSH 私钥
然后在 deploy.yml
中用 ${{ secrets.SERVER_HOST }}
引用。
四、常见部署场景
- 静态网站部署到 GitHub Pages
- Node.js 项目部署到 VPS
- Python 项目自动化发布到 PyPI
- Docker 镜像构建并推送到 Docker Hub
每种场景的工作流配置略有不同,但核心思想都是:
触发事件 → 运行任务 → 部署或发布
五、优化与进阶
- 使用 缓存依赖 加速构建
1
2
3
4
5- name: 缓存 Node 模块
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} - 多环境部署(测试环境、生产环境)
- 定时触发(例如每天凌晨自动构建)
结语
GitHub Actions 不仅适合部署,还能帮你完成一切重复性工作。
从今天开始,把那些机械的“打包、上传、重启服务”交给它,你就能腾出更多时间专注于业务和创新。
⚠️ 免责声明:本文仅供个人学习与技术研究使用。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果