linux_deploy_build.sh¶
文档编写日期: 2026-03-20
使用办法 (Usage)¶
基本语法¶
参数说明¶
| 参数 | 说明 |
|---|---|
develop |
使用开发配置 |
deploy |
使用部署配置(默认) |
ci |
使用CI配置 |
-c, --config <file> |
使用自定义配置文件 |
-h, --help |
显示帮助信息 |
Scripts详解¶
linux_deploy_build.sh 是完整的部署构建脚本,执行清理 + 配置 + 构建 + 测试的全流程,专用于生产环境部署。
功能特点¶
- 完整清理构建 - 清除旧构建目录后重新构建
- 三步构建流程 - 清理、构建、测试
- 部署优化 - 使用部署配置(Release模式)
- 自动测试 - 构建完成后自动运行测试
与 linux_develop_build.sh 的区别¶
| 特性 | linux_deploy_build.sh | linux_develop_build.sh |
|---|---|---|
| 默认配置模式 | deploy | develop |
| 构建类型 | Release | Debug |
| 默认配置文件 | build_deploy_config.ini | build_develop_config.ini |
| 优化级别 | 高(生产部署) | 低(开发调试) |
| 调试信息 | 无/最少 | 完整 |
执行流程¶
第一步:清理构建目录¶
使用 lib_build.sh 中的 clean_build_dir 函数清理构建目录。
第二步:调用快速部署构建脚本¶
调用 linux_fast_deploy_build.sh 执行实际的配置和构建。
第三步:运行测试¶
调用 linux_run_tests.sh 运行所有测试。测试失败不会导致脚本退出(仅警告)。
使用示例¶
# 使用默认部署配置
./scripts/build_helpers/linux_deploy_build.sh deploy
# 使用开发配置
./scripts/build_helpers/linux_deploy_build.sh develop
# 使用CI配置
./scripts/build_helpers/linux_deploy_build.sh ci
# 使用自定义配置文件
./scripts/build_helpers/linux_deploy_build.sh deploy -c my_deploy_config.ini
输出示例¶
========================================
Starting Linux Build Process (Full Clean + Build)
========================================
Project root: /home/charliechen/CFDesktop
Changing to project directory
Loading configuration from: build_deploy_config.ini
Configuration loaded successfully!
Source directory: . (resolved: /home/charliechen/CFDesktop)
Build directory: build_deploy
========================================
Step 1: Cleaning build directory
========================================
...
========================================
Step 2: Calling fast build script
========================================
Executing: linux_fast_deploy_build.sh deploy
...
========================================
Build process completed successfully!
========================================
========================================
Step 3: Running tests
========================================
Executing: linux_run_tests.sh deploy
...
========================================
All tests passed successfully!
========================================
部署配置示例¶
build_deploy_config.ini 通常包含以下配置:
[cmake]
generator = Ninja
toolchain = toolchain/linux-gcc.cmake
build_type = Release
[paths]
source = .
build_dir = build_deploy
[options]
jobs = 4
使用场景¶
- 生产发布 - 构建用于生产环境的版本
- 性能测试 - 需要测试优化后的代码性能
- 交付客户 - 构建最终交付版本
- CI/CD - 自动化部署流水线
依赖脚本¶
该脚本依赖以下脚本和库:
lib_common.sh- 通用日志函数lib_config.sh- 配置文件处理lib_build.sh- 构建相关函数(clean_build_dir)lib_paths.sh- 路径解析linux_fast_deploy_build.sh- 快速部署构建脚本linux_run_tests.sh- 测试脚本
错误处理¶
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 配置文件不存在 | 部署配置文件未创建 | 从模板复制配置文件 |
| build_dir为空 | 配置文件中未设置 | 在配置文件中设置 build_dir |
| 构建失败 | 编译错误 | 检查编译错误日志 |
| 测试失败 | 测试用例失败 | 检查测试日志 |
注意事项¶
- 部署构建使用 Release 模式,调试信息有限
- 构建目录会被完全清除
- 测试失败不会中断构建流程,但需要关注测试结果
- 默认使用
deploy配置模式