Jenkins 用户手册 - 使用 branch 和 pull 请求
之前的章节中已经实现了 Jenkinsfile,并可以将代码上传到源代码控制。这一章节讲述基于 Jenkinsfile 的多分支 Pipeline 的概念,以便在 Jenkins 中提供更多动态和自动功能。
1. 创建多分支 Pipeline
1.1 步骤
多分支 Pipeline 项目类型使你能够为同一项目的不同分支使用不同的 Jenkins 文件。在多分支 Pipeline 项目中,Jenkins 可以为源代码控制中包含 Jenkinsfile 的分支自动发现,管理和执行 Pipeline。
这消除了手动 Pipeline 创建和管理的需要。
要创建多分钟 Pipeline:
- 点击 Jenkins 首页的 New Item
- 输入你的 Pipeline 名字,选择 Multibranch Pipeline 并点击 OK
注意:Jenkins 使用 Pipeline 名字在磁盘上创建目录,注意不要使用空格等非法字符。
- 添加 Branch Source(例如 Git)并输入仓库地址
- Save the Multibranch Pipeline project.
保存后,Jenkins 会自动扫描指定的存储库,并为存储库中包含 Jenkinsfile 的每个分支创建适当的项目。
默认情况下,仓库的分支增加或删除时,Jenkins 不会自动重新编制索引(除非使用组织文件夹 Organization Folder),因此配置多分支 Pipeline 以定期在配置中重新索引通常很有用:
1.2 其它环境变量
多分支 Pipeline 通过 env
全局变量暴露有关正在构建的分支的其他信息,例如:
-
BRANCH_NAME:Pipeline 正在执行的分支的名字,例如
master
。 - CHANGE_ID:与某种改变请求相对应的标识符,例如拉取请求的编号。
其他环境变量在 全局变量参考 中列出。
1.3 支持 Pull 请求
通过“GitHub”或“Bitbucket”分支源代码,多分支 Pipeline 可用于验证拉/更改(pull/change)请求。该功能分别由 GitHub Branch Source 和 Bitbucket Branch Source 插件提供。有关如何使用这些插件的更多信息,请参阅他们的文档。
2. 使用 Organization Folders
通过组织文件夹,Jenkins 可以监视整个 GitHub Organization 或 Bitbucket Team/Project,并为包含分支和包含 Jenkinsfile 的请求的存储库自动创建新的多分支管道。
目前,此功能仅适用于 GitHub 和 Bitbucket,其功能由 GitHub Organization Folder 和 Bitbucket Branch Source 插件提供。