第6章 实战案例:基于 STEVAL-IDB011V1 板级 CI/CD 全流程
在前五章中,我们完成了嵌入式 CI/CD 从环境搭建、编译自动化、测试自动化、发布分发到监控回归的全技术链条。本章将以 STEVAL-IDB011V1(搭载 BlueNRG-355)评估板为实战载体,手把手演示如何在 GitLab CI(或 Jenkins)上,构建一条从 Git Push → 编译 → 测试 → 刷写 → 验证 → 发布 的一键流水线。通过本章,你将获得可直接克隆复用的完整 Pipeline 配置、脚本与项目结构。
6.1 项目仓库结构
embedded-ci-cd/
├── .gitlab-ci.yml # GitLab CI 主配置
├── docker/
│ └── Dockerfile.build # 构建环境镜像
├── cmake/
│ └── arm-none-eabi-toolchain.cmake
├── ld/
│ └── STM32F103C8Tx_FLASH.ld
├── scripts/
│ ├── package_ota.sh # 打包 OTA 镜像脚本
│ ├── flash.sh # OpenOCD 自动刷写脚本
│ ├── run_unit_tests.sh # 单元测试执行脚本
│ ├── run_hil_tests.sh # HIL 测试驱动脚本
│ └── collect_coverage.sh # 覆盖率收集脚本
├── src/
│ ├── main.c
│ ├── ble_service.c
│ └── ...
├── tests/
│ ├── unity/
│ ├── cmock/
│ └── test_foo.c
└── docs/ └── architecture.puml # PlantUML 架构图
-
.gitlab-ci.yml:定