部署与发布
Lua 项目从代码到上线,要过代码质量、构建打包、部署、测试、发布、维护六道关。
1. 部署准备
1.1. 确保代码质量
发布前把三件事做完:代码审查把关,单元测试全部通过以验证功能,集成测试确认系统各部分能协同工作。
1.2. 环境配置
开发、测试、生产环境的环境变量分别设置;config.lua 这类配置文件要对准目标环境。
2. 构建与打包
2.1. 构建脚本
构建交给工具自动化,Makefile、CMake 或自定义脚本都行;构建出的版本要和版本控制系统里的对得上。
2.2. 打包
项目文件打成 .zip、.tar.gz 这类压缩包,分发起来方便。外部依赖要么打进包里,要么写清依赖说明。
3. 部署
3.1. 部署策略
小规模可以手动部署:上传打包文件,解压到指定目录。发布频繁就用 CI/CD 工具自动化,Jenkins、GitLab CI、GitHub Actions 都可以。
3.2. 部署步骤
先通过 SCP、FTP 等文件传输协议把文件传上服务器,解压到目标目录,设置好文件和目录权限。应用若要跑在 Web 服务器、应用服务器上,把服务配置核对一遍。
4. 测试与验证
4.1. 功能测试
在目标环境里跑功能测试,确认应用程序按预期工作。
4.2. 性能测试
负载测试看高负载下的性能和稳定性,压力测试看极端条件下的行为。
5. 发布
5.1. 发布管理
给发布的版本打标签,写发布说明和发布日志:新版本改了什么、修了什么、还有哪些已知问题。
5.2. 发布渠道
内网使用就发到内部网络,供内部用户使用;面向外部用户则通过官方网站、应用商店这类渠道发布。
6. 维护与支持
6.1. 监控
上线不是终点。日志监控盯潜在问题,性能监控盯性能指标,发现异常及时处理。
6.2. 用户反馈
用户反馈和报告的问题收集起来,修复后排进后续版本。
6.3. 更新与回滚
问题修完发布更新版本。新版本出严重问题时,靠回滚机制退回先前的稳定状态。
总结
部署环节的多数事故来自手动操作和流程不固定。构建、部署、测试能自动化的都自动化,回滚机制提前备好,出问题才有退路。