转载

利用Jenkins部署多分支的CI/CD管道

----创建多分支CI/CD管道操作指引

Dec 10, 2019, by Krishna Prasad Kalakodimi

简介

Jenkins最初被称为Hudson,是由Kohsuke Kawaguchi编写的一个Java开源项目(部署和运行需要安装Java 8以上环境)。作为一个CI持续集成服务器,Jenkins可以从版本控制系统(VCS)自动拉取最新的代码,构建和进行测试,并将过程信息通知到开发人员。但实际上,Jenkins所提供的CI管道并不限于单一版本的实现。多分支管道可以让用户利用Jenkinsfile,在SCM源码库中,自动为每个代码分支创建一个独立管道。

Jenkinsfile是什么?

Jenkins的CI管道支持采用Jenkinsfile的文本文件定义,Jenkinsfile文件的内容是采用DSL(特定于域语言)编写的。用户可以将管道内所需运行的步骤写到文件内,最终以内容即代码的方式部署管道。

Jenkins的多分支管道定义

多分支管道让用户能够为同一项目的不同分支定义不同的Jenkinsfile。在一个多分支管道项目中,Jenkins能够自动发现、管理和执行包含源码级控制的分支管道。

利用Jenkins部署多分支的CI/CD管道

架构图

创## 建一个简单多分支管道项目的步骤 ##

1.在Jenkins的左上角点击“New Item”;

利用Jenkins部署多分支的CI/CD管道

仪表板-New Item按钮

2.在“ Enter an item name field”字段中输入项目名称,向下滚动,然后选择“Multibranch Pipeline”并单击“OK”按钮;

利用Jenkins部署多分支的CI/CD管道

多分支管道

3.加上描述 (可选项);

4.填上代码分支源码库的类型(例如GitHub)并填入源码库的URL地址;

5.选择“Add”按钮添加凭证,并选中Jenkins;

6.录入 GitHub 用户名、密码、ID和描述;

7.在凭证栏选择下拉按钮,添加访问凭证;

利用Jenkins部署多分支的CI/CD管道

分支源码库

8. 点击“Save”按钮,保持这个多分支项目;

9.Jenkins将自动扫描指定的源码库,并为组织文件夹建立索引。组织文件夹意味着让Jenkins可以监视整个GitHub组织或Bitbucket团队及项目,并为包含分支的源码库自动创建新的多分支管道,并弹出拉取Jenkinsfile的请求。

利用Jenkins部署多分支的CI/CD管道

扫描源码库的日志

10.目前Jenkins的自动扫描源码库功能只支持GitHub 和 Bitbucket类型的源码库,功能是由GitHub的组织文件夹和Bitbucket代码分支插件实现的;

11. 作业一旦创建,就会自动生成触发器。

利用Jenkins部署多分支的CI/CD管道

生成触发器

配置Webhook

1.为了让Jenkins服务器与GitHub 保持通信,因此需要取得Jenkins服务器的URL hook挂钩;

2.前往” Manage Jenkins”,选择“Configure System”视图;

3.找到GitHub插件配置区域,选择“Advance”按钮;

4.选择“Specify another hook URL for GitHub configuration“

利用Jenkins部署多分支的CI/CD管道

Webhook

5.反选并复制文本框中的内容;

6.点击“Save“,重定向到Jenkins仪表板;

7.浏览器进入GitHub页面,并选择“GitHub”库;

8.点击“Settings”按钮,导航到源码库设置;

利用Jenkins部署多分支的CI/CD管道

设置页面

9.找到Webhook区域;

10.点击“Add Webhook“按钮,在“ Payload URL”中,黏贴前面复制的 URL挂勾地址.

11.确保webhook 触发器为选项为“Just the push event“;

利用Jenkins部署多分支的CI/CD管道

添加 webhook

12.点击”Add Webhook”按钮。这动作将为源码库添加所配置的webhook。

13. 一旦正确地添加了webhook,你就可以看到带勾的webhook。

利用Jenkins部署多分支的CI/CD管道

添加 webhook

14. 回到源码库,修改分支内容或更新任意文件。在本案例中,我们更新了README.md文件;

15.随后,将看到自动触发的Jenkins任务。

利用Jenkins部署多分支的CI/CD管道

CI任务触发

16. 等待管道执行完毕,可在“ Build History”中,通过构建流水号查看构建执行的历史记录。

17. 单击“build number”并选择“Console Output”。就可以看到每个CI步骤的输出。

利用Jenkins部署多分支的CI/CD管道

Console Output

原文链接:(翻译:易理林)

原文  http://dockone.io/article/9651
正文到此结束
Loading...