GitHub Actions 入门教程:push 即部署的免费流水线
摘要
GitHub Actions 是内置的免费 CI/CD 流水线,push 即自动测试部署。本教程依据官方文档,介绍 workflow/event/job/step 概念、第一个 ci.yml、常用官方 Action、用 Secrets 安全部署到服务器的 rsync 示例、schedule 定时触发,以及缓存与省额度技巧。
GitHub Actions 入门教程:免费的全自动流水线
每次 push 代码,自动跑测试、自动构建、自动部署到服务器——这就是 CI/CD。GitHub Actions 是 GitHub 内置的自动化流水线,公开仓库免费用。本教程依据 GitHub 官方文档(docs.github.com/actions)整理。
一、基本概念
Workflow(工作流):放在仓库
.github/workflows/下的 YAML 文件,一个文件一条流水线Event(触发事件):什么时候跑,如 push、PR、定时
Job(任务):一组步骤,默认并行执行,跑在一台全新虚拟机上
Step(步骤):一条 shell 命令或一个现成的 Action
二、第一个 Workflow
在仓库根目录建 .github/workflows/ci.yml:
push 之后到仓库的 Actions 标签页就能看到运行记录:绿色勾=成功,红色叉=失败,点进去有每一步的完整日志。
三、常用动作拆解
uses:引用别人写好的 Action(市场里有上万种),actions/checkout@v4是检出代码,几乎所有流水线的第一步run:执行 shell 命令,多条命令可写成多行with:给 Action 传参数runs-on: ubuntu-latest是运行环境(也有 windows-latest、macos-latest)
四、自动部署到服务器
测试通过后自动 rsync 部署(结合本站 SSH 密钥与 rsync 教程):
私钥绝不写进代码:仓库 Settings → Secrets and variables → Actions,新建 SSH_KEY,用 ${{ secrets.SSH_KEY }} 引用,日志里会自动打码。
五、定时任务与其他触发
Actions 可以当"云上的 crontab"用,比如每天自动抓取数据、签到、生成统计。
六、省钱与提速技巧
技巧 | 做法 |
|---|---|
缓存依赖 |
|
只在需要时跑 |
|
并行拆分 | lint / test 拆成多个 job 并行 |
加超时 |
|
公开仓库完全免费;私有仓库每月有免费额度(2000 分钟),个人项目基本用不完。
七、总结
需求 | 做法 |
|---|---|
建流水线 |
|
触发 |
|
用现成能力 |
|
部署 | rsync/scp + Secrets 存密钥 |
手动触发 |
|
从"本地打包再 scp 上去"进化到"push 即部署",是个人项目工程化收益最大的一步,而 GitHub Actions 让这一切免费。
