Files
nexus/wiki/concepts/Jenkins-Multi-Branch-Pipeline.md
2026-04-28 20:03:11 +08:00

37 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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]] — 多分支流水线构建的产物