🌐 企业级 GitLab 开发流程全解
面向 DevOps 场景,适用于单人、多人协作,支持边缘端与云端开发联动
一、整体流程概览
需求评审 → 分支开发 → 代码提交 → MR审核 → 自动测试 → 自动构建 → 自动部署 → 验收上线
二、GitLab 分支规范
分支类型 | 命名示例 | 用途说明 |
---|---|---|
main | main | 主线分支,用于发布、验收后的稳定代码 |
develop | develop | 日常开发主线,所有功能分支从此拉出 |
feature | feature/xxx | 功能开发分支(如 feature/ai-camera ) |
bugfix | bugfix/xxx | 日常问题修复分支 |
hotfix | hotfix/xxx | 紧急线上修复(会直接合到 main ) |
release | release/1.0.0 | 上线前测试分支,冻结功能 |
三、代码提交流程(标准 DevOps)
- 确保你在
main
分支上
git checkout main
- 从
main
创建develop
分支
git checkout -b develop
- 推送到远程仓库并建立跟踪关系
git push -u origin develop
- 从
develop
拉分支:
git checkout -b feature/your-feature develop
- 编写代码、规范提交:
feat(ui): 增加边缘端UI模块
fix(edge): 修复识别模块超时问题
- Push & 发起 Merge Request:
git push origin feature/your-feature
- MR 审核要求:
- 自动触发 CI 检查
- 至少两名 Reviewer 审核
- 安全检查通过
四、CI/CD 自动化流水线
stages:
- lint
- test
- build
- deploy
lint:
stage: lint
script: npm run lint
unit_test:
stage: test
script: npm test
build:
stage: build
script: ./build.sh
deploy:
stage: deploy
script: ./deploy.sh
environment:
name: staging
支持:
- 华为工具链(CodeCheck、CloudIDE)
- 多平台构建(x86/arm)
五、代码质量 & 安全机制
类型 | 工具示例 | 说明 |
---|---|---|
代码规范 | clang-format | 强制格式校验 |
安全检测 | SAST/SCA 工具 | 检查漏洞、依赖风险 |
单元测试 | pytest/jest | 要求核心模块必须覆盖 |
静态分析 | SonarQube | 复杂度、重复率等统计 |
构建验证 | GitLab Runner | 自动构建/测试/部署 |
六、边缘端设备开发扩展流程
模块 | 说明 |
---|---|
交叉编译 | 使用 arm64 toolchain/docker 编译 |
固件打包 | 打包 rknn 模型、根文件系统 |
自动部署 | 接入 OTA 平台自动更新到边缘设备 |
设备监控 | 云端反馈部署状态,接入华为 IoT 平台等 |
七、版本发布流程
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
可结合 GitLab Release 页面自动生成发布说明并推送产物包(如 .tar.gz
、.deb
、镜像等)
✅ 八、建议实践
建议方向 | 推荐做法 |
---|---|
提交频率 | 小步快跑,避免堆代码 |
MR 审核规则 | 至少两人审查 |
CI 模板管理 | 复用 .gitlab-ci.yml |
质量阈值 | 单测覆盖率 ≥ 80% |
代码可追溯性 | 规范 commit 与 MR 描述 |
如需获取适用于你团队的 GitLab + CI/CD + OTA 边缘端开发模版,可留言交流或私信我。