📘 嵌入式软件版本管理 自动化发布策略

🎯 30章 · 从入门到实战
第1章 进入
版本管理基础
为什么嵌入式项目需要版本管理 · Git/SVN/ClearCase对比 · 集中式与分布式核心区别
第2章 进入
Git核心概念
工作区·暂存区·本地仓库·远程仓库 · Git对象模型(Blob/Tree/Commit) · HEAD与分支本质
第3章 进入
Git基础操作
init/clone/add/commit/status/log/diff · .gitignore配置 · 提交信息规范
第4章 进入
分支管理策略
Git Flow详解 · GitHub Flow vs GitLab Flow · release/hotfix/feature策略
第5章 进入
标签与版本号
语义化版本(SemVer) · 轻量标签与附注标签 · 版本号在固件中嵌入实践
第6章 进入
远程仓库协作
remote/fetch/push/pull · Pull Request与Code Review · 合并冲突实战
第7章 进入
嵌入式项目结构管理
典型目录结构(src/inc/test/doc/tools) · submodule · 大型仓库拆分策略
第8章 进入
持续集成基础
CI/CD概念与价值 · 嵌入式CI挑战(交叉编译/硬件依赖) · Jenkins/GitLab CI/GitHub Actions
第9章 进入
Jenkins入门
安装与配置 · Pipeline语法(Declarative vs Scripted) · Jenkinsfile编写与版本管理
第10章 进入
GitLab CI实践
.gitlab-ci.yml详解 · Runner安装注册 · Stage/Job · Artifacts与Cache
第11章 进入
GitHub Actions
Workflow语法 · Actions市场 · 自托管Runner · 嵌入式项目实战
第12章 进入
自动化构建系统
CMake最佳实践 · Debug/Release/Test切换 · 构建产物(hex/bin/elf)管理
第13章 进入
交叉编译环境管理
Docker在嵌入式CI应用 · Dockerfile技巧 · 环境版本锁定与复现
第14章 进入
静态代码分析自动化
Cppcheck/Clang-Tidy集成 · MISRA C/C++检查 · SonarQube部署
第15章 进入
单元测试自动化
CUnit/Unity/CMock · 测试用例自动执行 · 覆盖率(gcov/lcov)与门禁
第16章 进入
硬件在环测试(HIL)
HIL基本概念 · Robot Framework/pytest · 测试报告生成与归档
第17章 进入
固件烧录与部署自动化
OpenOCD/J-Link Commander · 自动化烧录脚本 · 批量生产策略
第18章 进入
版本发布流程
RC管理 · Release Notes自动生成(git log/changelog) · 发布包打包
第19章 进入
OTA升级策略
OTA基本原理 · 差分升级(bsdiff/hdiffpatch) · 版本校验与回滚
第20章 进入
安全与签名
固件签名(RSA/ECDSA) · 签名自动化 · Secure Boot与版本验证
第21章 进入
配置管理
Kconfig与宏定义 · 配置文件版本控制 · 产品变体配置策略
第22章 进入
依赖管理
第三方库版本管理(vcpkg/conan) · 依赖冲突解决 · License合规检查
第23章 进入
文档自动化
Doxygen API文档 · Sphinx用户手册 · 文档与代码同步更新
第24章 进入
监控与告警
CI失败告警(邮件/钉钉/微信) · 构建趋势分析 · 质量门禁
第25章 进入
多平台构建
ARM/RISC-V/x86构建矩阵 · 条件编译与平台适配 · 并行优化
第26章 进入
版本回溯与热修复
紧急Bug修复流程 · hotfix分支 · 补丁快速发布与验证
第27章 进入
DevOps文化落地
嵌入式团队DevOps转型 · 工具链选型与成本 · 协作流程优化
第28章 进入
案例实战(一)
基于STM32的CI/CD流水线:代码提交到固件烧录全自动化
第29章 进入
案例实战(二)
基于ESP32的OTA升级系统:版本管理+差分升级+回滚
第30章 进入
总结与展望
嵌入式版本管理未来趋势(GitOps/云原生/MLOps) · 课程总结与进阶路径