----创建多分支CI/CD管道操作指引
Dec 10, 2019, by Krishna Prasad Kalakodimi
Jenkins最初被称为Hudson,是由Kohsuke Kawaguchi编写的一个Java开源项目(部署和运行需要安装Java 8以上环境)。作为一个CI持续集成服务器,Jenkins可以从版本控制系统(VCS)自动拉取最新的代码,构建和进行测试,并将过程信息通知到开发人员。但实际上,Jenkins所提供的CI管道并不限于单一版本的实现。多分支管道可以让用户利用Jenkinsfile,在SCM源码库中,自动为每个代码分支创建一个独立管道。
Jenkins的CI管道支持采用Jenkinsfile的文本文件定义,Jenkinsfile文件的内容是采用DSL(特定于域语言)编写的。用户可以将管道内所需运行的步骤写到文件内,最终以内容即代码的方式部署管道。
多分支管道让用户能够为同一项目的不同分支定义不同的Jenkinsfile。在一个多分支管道项目中,Jenkins能够自动发现、管理和执行包含源码级控制的分支管道。
架构图
创## 建一个简单多分支管道项目的步骤 ##
1.在Jenkins的左上角点击“New Item”;
仪表板-New Item按钮
2.在“ Enter an item name field”字段中输入项目名称,向下滚动,然后选择“Multibranch Pipeline”并单击“OK”按钮;
多分支管道
3.加上描述 (可选项);
4.填上代码分支源码库的类型(例如GitHub)并填入源码库的URL地址;
5.选择“Add”按钮添加凭证,并选中Jenkins;
6.录入 GitHub 用户名、密码、ID和描述;
7.在凭证栏选择下拉按钮,添加访问凭证;
分支源码库
8. 点击“Save”按钮,保持这个多分支项目;
9.Jenkins将自动扫描指定的源码库,并为组织文件夹建立索引。组织文件夹意味着让Jenkins可以监视整个GitHub组织或Bitbucket团队及项目,并为包含分支的源码库自动创建新的多分支管道,并弹出拉取Jenkinsfile的请求。
扫描源码库的日志
10.目前Jenkins的自动扫描源码库功能只支持GitHub 和 Bitbucket类型的源码库,功能是由GitHub的组织文件夹和Bitbucket代码分支插件实现的;
11. 作业一旦创建,就会自动生成触发器。
生成触发器
1.为了让Jenkins服务器与GitHub 保持通信,因此需要取得Jenkins服务器的URL hook挂钩;
2.前往” Manage Jenkins”,选择“Configure System”视图;
3.找到GitHub插件配置区域,选择“Advance”按钮;
4.选择“Specify another hook URL for GitHub configuration“
Webhook
5.反选并复制文本框中的内容;
6.点击“Save“,重定向到Jenkins仪表板;
7.浏览器进入GitHub页面,并选择“GitHub”库;
8.点击“Settings”按钮,导航到源码库设置;
设置页面
9.找到Webhook区域;
10.点击“Add Webhook“按钮,在“ Payload URL”中,黏贴前面复制的 URL挂勾地址.
11.确保webhook 触发器为选项为“Just the push event“;
添加 webhook
12.点击”Add Webhook”按钮。这动作将为源码库添加所配置的webhook。
13. 一旦正确地添加了webhook,你就可以看到带勾的webhook。
添加 webhook
14. 回到源码库,修改分支内容或更新任意文件。在本案例中,我们更新了README.md文件;
15.随后,将看到自动触发的Jenkins任务。
CI任务触发
16. 等待管道执行完毕,可在“ Build History”中,通过构建流水号查看构建执行的历史记录。
17. 单击“build number”并选择“Console Output”。就可以看到每个CI步骤的输出。
Console Output
原文链接:(翻译:易理林)