--- title: "Jenkins Multi-Branch Pipeline" type: concept tags: ["CI/CD", "Jenkins", "Automation", "DevOps"] sources: ["learning-sessions-standard-amis-updates-20231205-160324-meeting-recording-2"] last_updated: 2026-05-08 --- ## Definition Jenkins 多分支流水线(Jenkins Multi-Branch Pipeline)是 Jenkins 的流水线即代码功能,支持根据 Git 分支自动创建和管理流水线。在 Micro Focus AWS Landing Zone 中,用于 AMI 构建和 IaC 部署的双重场景。 ## Architecture Pattern - **Feature Branch Pipeline**:功能分支上变更 → 开发测试 → 合并到集成分支 - **Integration Branch Pipeline**:集成分支合并 → 构建 → 测试 → 发布 - **Jenkinsfile**:在代码仓库中定义流水线即代码 ## Dual Use Cases ### AMI 构建 1. Jenkins 扫描 Git 仓库的分支 2. 每个分支触发独立流水线 3. HashiCorp Packer 执行镜像构建 4. 脚本化测试 + AWS Inspector 安全扫描 5. 跨区域 AMI 复制和共享 ### IaC 部署(Terraform/TerraGrunt) 1. GitHub 仓库变更触发 Jenkins 2. Terraform Plan 输出变更计划 3. 审批后执行 Terraform Apply 4. 跨账户角色切换部署 ## Connections - [[Jenkins]] — 托管多分支流水线的 CI/CD 平台 - [[Terraform-IaC]] — 流水线编排的 IaC 工具 - [[Terragrunt]] — 配合 Terraform 的 DRY 工具 - [[Amazon-Machine-Image]] — 多分支流水线构建的产物