笔者是独立翻译实验,不允许转载
分支和拉取请求
Branches and Pull Requests
在上一节中,实现了Jenkinsfile,这个文件能被迁入到源代码版本控制中。这部分涵盖了 Multibranch Pipeline的概念, 建立在Jenkinsfile基础上, 提供更多的动态和自动功能。
Creating a Multibranch Pipeline
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配置为定期索引在配置中通常很有用:
附加的环境变量(Additional Environment Variables)
Multibranch Pipeline暴露了关于分支的附加信息,分支可以通过全局变量env创建,例如:
BRANCH_NAME
这个Pipeline将要被执行的分支,例如master分支。
CHANGE_ID
各种改变请求的标识符,例如a pull request号码/数字。
支持Pull Requests(Supporting Pull Requests)
GitHub或者Bitbucket分支源,Multibranch Pipeline能被用来验证pull/change请求。这个功能被插件github-branch-source和插件cloudbees-bitbucket-branch-source提供。请查阅相关文档得到如何使用的进一步信息。
使用组织目录(Using Organization Folders)
Organization Folder使Jenkins能监控整个GitHub组织或者Bitbucket Team/Project,自动为代码库创建新的Multibranch Pipeline项目,代码库包含分支和包含Jenkinsfile的pull request。
现在,这个功能仅仅存在于GitHub和bitbucket,功能分别被插件github-branch-source和插件cloudbees-bitbucket-branch-source提供。