本文首发于: Jenkins 中文社区 
 
  原文链接 作者:Krishna Prasad Kalakodimi 
 
 译者:anxk
 
 使用 Jenkins 实现 CI/CD 多分支流水线
 
 基于 Jenkins 多分支流水线任务类型创建 CI/CD 多分支流水线
 
    
  
 
 简介
 
  Jenkins 是一个持续集成服务器,用于从版本控制系统(VCS)中获取最新代码,然后对其进行构建、测试并将结果通知给开发人员。除了作为一个持续集成(CI)服务器之外,Jenkins 还可以做很多其它的事情。最初它被称为 Hudson,是川口耕介(Kohsuke Kawaguchi)基于 Java 编写的一个开源项目,因此,在安装和运行 Jenkins 之前,首先需要安装 Java 8 。 
 
  多分支流水线 是 Jenkins 中的一种流水线类型,它允许您在 Jenkinsfile 的帮助下为源码管理(SCM)库中的每个分支自动地创建一支流水线。 
 
 什么是 Jenkinsfile
 
  Jenkinsfile 是一个文本文件,被用来定义一个 Jenkins 流水线。在 Jenkinsfile 中可以使用 领域特定语言(DSL) 编写运行 Jenkins 流水线所需要的步骤,从而将流水线实现为代码。 
 
 来自 Jenkins 的定义
 
 使用多分支流水线,您可以为同一项目的不同分支实现不同的 Jenkinsfile,Jenkins 将会自动发现、管理和执行那些分支中包含 Jenkinsfile 的流水线。
 
    
  
 
 创建一个简单多分支流水线任务的步骤
 
  
  -  点击 Jenkins 工作台左上角的  New Item  选项: 
   
  
 
  
  -  在  Enter an item name  中填入任务名,向下滚动,然后选择  Multibranch Pipeline ,最后点击  OK  按钮: 
   
  
 
  
  -  填写 任务描述 (可选)。 
-  添加一个 分支源 (例如:GitHub)并且填写代码仓库的位置。 
-  选择  Add  按钮添加凭证并点击  Jenkins 。 
-  键入 GitHub  用户名 、 密码 、 ID  和描述。 
- 从下拉菜单中选择凭证:
   
  
 
  
  -  点击  Save  保存该多分支流水线任务。 
- Jenkins 会自动扫描指定的仓库并为 Organization 文件夹添加索引。Organization 文件夹使得 Jenkins 能够监视整个 GitHub Organization 或 Bitbucket Team/Project,并自动为包含分支的仓库创建新的多分支流水线,然后拉取包括 Jenkinsfile 在内的源码:
   
  
 
  
  -  当前,这项功能仅适用于 GitHub 和 Bitbucket 中的仓库,分别由  GitHub Organization Folder  和  Bitbucket Branch Source  这两个插件提供。 
- 一旦任务被成功创建,构建将会被自动触发:
   
  
 
 配置 Webhooks
 
  
  - 我们需要配置 Jenkins 服务器以便与我们的 GitHub 仓库通信,为此,我们要获取 Jenkins 的 Hook URL。
-  导航到  Manage Jenkins  页面,然后选择  Configure System 。 
-  找到  GitHub  插件配置部分,然后点击 Advanced 按钮。 
-  选择  Specify another hook URL for GitHub configuration : 
   
  
 
  
  - 将文本框中的 URL 复制出来。
-  单击  Save ,返回到 Jenkins 工作台。 
-  打开浏览器,导航到 GitHub 选项卡,然后选择您的  GitHub  仓库。 
-  单击  Settings ,导航到仓库设置: 
   
  
 
  
  - 点击 Webhooks 部分。
-  点击  Add Webhook  按钮,然后将  Hook URL  粘贴在  Playload URL  中。 
-  确保 Webhook 触发器已选中  Just the push event  选项。 
   
  
 
  
  -  点击击  Add webhook ,就会把此 webhook 添加到您的仓库。 
- 正确添加 Webhook 后,您将会看到带有绿勾的 Webhook:
   
  
 
  
  -  返回到仓库,然后切换到对应分支并更新任何文件。在此,我们更新  README.md  文件。 
- 现在将会看到 Jenkins 任务被自动触发:
   
  
 
  
  -  流水线执行完成后,可以通过点击  Build History  下的构建号来验证执行过的构建。 
-  点击构建号,然后选择  Console Output ,您便可以看到每个构建步骤的输出日志: 
   
  
 
 进一步阅读
 
  Learn How to Set Up a CI/CD Pipeline From Scratch 
 
  API Builder: A Simple CI/CD Implementation – Part 1 
 
 
        
                原文  
                https://segmentfault.com/a/1190000021545756