对应英文文档:https://jenkins.io/doc/book/pipeline/multibranch/
本系列主贴直达:https://testerhome.com/topics/11265
在上一节中,实现了 Jenkinsfile,这个文件能被迁入到源代码版本控制中。这部分涵盖了 Multibranch Pipeline 的概念, 建立在 Jenkinsfile 基础上, 提供更多的动态和自动功能。
Multibranch Pipeline 项目使得在同一个项目中不同的分支需要实现不同的 Jenkinsfile。在一个 Multibranch Pipeline 项目中,Jenkins 将为不同分支的 Pipelines 自动发现/管理/执行,不同的分支都包含一个 Jenkinsfile 文件。
这将减少人工 Pipeline 的创建和管理。
创建一个 Multibranch Pipeline:
•在 Jenkins home 页上点击” new Item”。
•为你的 Pipeline 输入名字,选择 Multibranch Pipeline,然后点击 OK。
注意:Jenkins 用 Pipeline 的名字在磁盘上创建目录。包含空格的 Pipeline 名字可能有未查到的 bug,脚本不期望路径包含空格。
•添加一个 Branch Source(例如 Git),输入源代码库的地址。
•保存多分支 Pipeline 项目。
一旦保存,Jenkins 将自动扫描代码库,为库中包含 Jenkinsfile 的每一个分支创建合适的项。
默认情况下,Jenkins 不会自动索引用于分支添加或删除的存储库 (除非使用组织文件夹), 因此将 Multibranch Pipeline 配置为定期索引在配置中通常很有用:
Multibranch Pipeline 暴露了关于分支的附加信息,分支可以通过全局变量 env 创建,例如:
BRANCH_NAME
这个 Pipeline 将要被执行的分支,例如 master 分支。
CHANGE_ID
各种改变请求的标识符,例如 a pull request 号码/数字。
GitHub 或者 Bitbucket 分支源,Multibranch Pipeline 能被用来验证 pull/change 请求。这个功能被插件 github-branch-source 和插件 cloudbees-bitbucket-branch-source 提供。请查阅相关文档得到如何使用的进一步信息。
Organization Folder 使 Jenkins 能监控整个 GitHub 组织或者 Bitbucket Team/Project,自动为代码库创建新的 Multibranch Pipeline 项目,代码库包含分支和包含 Jenkinsfile 的 pull request。
现在,这个功能仅仅存在于 GitHub 和 bitbucket,功能分别被插件 github-branch-source 和插件 cloudbees-bitbucket-branch-source 提供。