test-github-cicd

C++ CI/CD 示例项目 🚀

CI/CD Pipeline GitHub release GitHub last commit License

这是一个简单的C++项目,用于演示GitHub CI/CD工作流程。

📚 文档导航

文档 说明
README.md 📖 本文件 - 项目概览和快速开始
CICD_GUIDE.md 🔄 CI/CD详细教程 - 深入理解持续集成原理
RELEASE_GUIDE.md 🚀 Release发布指南 - 自动发布机制说明
WORKFLOWS_GUIDE.md ⚙️ 工作流配置说明 - 所有工作流文件详解

�📥 快速下载

Releases 页面下载适合你操作系统的预编译版本:

项目结构

.
├── src/                       # 源代码目录
│   ├── main.cpp              # 主程序
│   ├── calculator.h          # 计算器头文件
│   └── calculator.cpp        # 计算器实现
├── tests/                    # 测试代码目录
│   └── test_calculator.cpp  # 单元测试
├── docs/                     # 📚 项目文档目录
│   ├── CICD_GUIDE.md        # CI/CD详细教程
│   ├── RELEASE_GUIDE.md     # Release发布指南
│   └── WORKFLOWS_GUIDE.md   # 工作流配置说明
├── .github/                  # GitHub配置
│   └── workflows/           # 工作流文件
│       ├── ci.yml          # CI/CD主工作流
│       └── publish-report.yml  # 测试报告发布
├── CMakeLists.txt           # CMake构建配置
├── LICENSE                  # MIT许可证
└── README.md                # 本文件 - 项目概览

构建项目

mkdir build
cd build
cmake ..
cmake --build .

运行程序

./build/calculator_app

运行测试

./build/calculator_tests

CI/CD 工作流说明

本项目使用GitHub Actions实现完整的CI/CD流程,配置文件在 .github/workflows/ci.yml

工作流触发条件

CI/CD 流程步骤

  1. 代码检出: 从仓库拉取最新代码
  2. 环境设置: 安装必要的编译工具和依赖
  3. 构建: 使用CMake在多个平台上编译项目
  4. 测试: 运行单元测试确保代码质量
  5. 质量检查: 代码格式和静态分析
  6. 打包: 将编译产物打包成分发格式
  7. 发布: 自动创建GitHub Release并上传文件

多平台支持

CI配置支持在以下平台上构建和测试:

每次运行都会在这3个平台上并行执行,确保跨平台兼容性。

学习要点

通过这个项目,你可以学习到:

  1. 自动化构建: 每次代码提交都会自动触发构建
  2. 自动化测试: 确保代码质量,防止引入bug
  3. 多平台测试: 确保代码在不同操作系统上都能正常工作
  4. 持续集成: 频繁地将代码集成到主分支
  5. 工作流配置: 如何编写GitHub Actions的YAML配置文件
  6. 自动发布: 如何自动创建Release并分发二进制文件
  7. 徽章使用: 在README中展示项目状态

🎓 学习资源

📥 下载和使用

下载预编译版本

Releases页面 下载适合你系统的版本:

Linux/macOS:

# 解压
tar -xzf calculator-*-x64.tar.gz

# 运行程序
./calculator_app

# 运行测试
./calculator_tests

Windows:

  1. 下载 calculator-windows-x64.zip
  2. 解压文件
  3. 双击 calculator_app.exe 运行

从源码编译

# 克隆仓库
git clone https://github.com/tyk-lab/test-github-cicd.git
cd test-github-cicd

# 创建构建目录
mkdir build && cd build

# 配置和编译
cmake ..
cmake --build .

# 运行
./calculator_app

🔄 CI/CD工作流

自动化流程

每次推送代码到 main 分支时:

  1. ✅ 自动在3个平台(Ubuntu、macOS、Windows)上构建
  2. ✅ 运行所有单元测试
  3. ✅ 进行代码质量检查
  4. ✅ 自动创建GitHub Release
  5. ✅ 上传各平台的编译产物

手动触发

  1. 访问仓库的 Actions 页面
  2. 选择 “C++ CI/CD Pipeline”
  3. 点击 “Run workflow” 按钮
  4. 选择分支并运行

创建版本发布

# 创建带版本号的tag
git tag v1.0.0

# 推送tag到远程
git push origin v1.0.0

这将触发CI/CD并创建一个正式版本的Release。

📊 项目状态

📚 更多文档

🤝 贡献

欢迎提交Issue和Pull Request!

📄 许可证

本项目采用 MIT License 开源许可证。