还在手动 SSH 上服务器拉代码、重启服务?GitHub Actions 免费额度就够中小团队用了。本文从真实项目出发,手把手搭建一条从代码推送到自动部署的完整流水线。
痛点:手动部署的代价
运维老哥都经历过这种场景:开发喊一声"代码合了",你 SSH 上去 git pull、docker build、docker-compose up -d,顺便祈祷别忘了跑数据库迁移。
问题不在于操作本身,而是——
- 人会忘事:漏跑 migration、忘记清缓存、配置没同步
- 无法审计:谁在什么时间部署了什么版本?翻
history猜吧 - 回滚靠运气:上个版本的镜像还在不在?Tag 打了没?