# Git 与 CI/CD 集成

URL: https://caijiao.org/git/practice/cicd
Source: docs/git/practice/cicd.md
Description: 本章介绍 Git 与 CI/CD 的集成方法，通过自动化构建、测试和部署，提高软件交付效率和质量。

将 Git 与持续集成/持续交付（CI/CD）结合，实现代码自动化构建和发布，提升开发效率。

## 基本流程

1. **代码提交**  
   开发者将代码推送到远程仓库。

2. **自动触发构建**  
   CI 工具（如 Jenkins、GitHub Actions、GitLab CI）监听仓库变化，自动执行构建和测试任务。

3. **自动测试**  
   运行单元测试、集成测试，确保代码质量。

4. **自动部署**  
   测试通过后，自动将代码部署到测试环境或生产环境。

## 常见工具

- **Jenkins**：开源且功能强大，自定义灵活。
- **GitHub Actions**：GitHub 原生支持，配置简单。
- **GitLab CI**：集成 GitLab，支持流水线定义。
- **Travis CI**：云端服务，适合开源项目。

## 集成示例

以 GitHub Actions 为例，创建 `.github/workflows/ci.yml` 文件：

```yaml
name: CI

on:
  push:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: 安装依赖
        run: npm install
      - name: 运行测试
        run: npm test
```

通过自动化流程，减少人为失误，加快交付速度，实现持续改进。
