使用 Jenkins 实现 CI/CD 多分支流水线

本文首发于:Jenkins 中文社区linux

原文连接    做者:Krishna Prasad Kalakodimigit

译者:anxkgithub

使用 Jenkins 实现 CI/CD 多分支流水线

基于 Jenkins 多分支流水线任务类型建立 CI/CD 多分支流水线web

Making multiple branches with Jenkins

简介

Jenkins 是一个持续集成服务器,用于从版本控制系统(VCS)中获取最新代码,而后对其进行构建、测试并将结果通知给开发人员。除了做为一个持续集成(CI)服务器以外,Jenkins 还能够作不少其它的事情。最初它被称为 Hudson,是川口耕介(Kohsuke Kawaguchi)基于 Java 编写的一个开源项目,所以,在安装和运行 Jenkins 以前,首先须要安装 Java 8api

多分支流水线是 Jenkins 中的一种流水线类型,它容许您在 Jenkinsfile 的帮助下为源码管理(SCM)库中的每一个分支自动地建立一支流水线。浏览器

什么是 Jenkinsfile

Jenkinsfile 是一个文本文件,被用来定义一个 Jenkins 流水线。在 Jenkinsfile 中可使用领域特定语言(DSL)编写运行 Jenkins 流水线所须要的步骤,从而将流水线实现为代码。服务器

来自 Jenkins 的定义

使用多分支流水线,您能够为同一项目的不一样分支实现不一样的 Jenkinsfile,Jenkins 将会自动发现、管理和执行那些分支中包含 Jenkinsfile 的流水线。测试

Architecture Diagram

建立一个简单多分支流水线任务的步骤

  1. 点击 Jenkins 工做台左上角的 New Item 选项:

New Item

  1. 在 Enter an item name 中填入任务名,向下滚动,而后选择 Multibranch Pipeline,最后点击 OK 按钮:

Multibranch pipeline

  1. 填写任务描述(可选)。
  2. 添加一个分支源(例如:GitHub)而且填写代码仓库的位置。
  3. 选择 Add 按钮添加凭证并点击 Jenkins
  4. 键入 GitHub 用户名密码ID 和描述。
  5. 从下拉菜单中选择凭证:

Branch sources

  1. 点击 Save 保存该多分支流水线任务。
  2. Jenkins 会自动扫描指定的仓库并为 Organization 文件夹添加索引。Organization 文件夹使得 Jenkins 可以监视整个 GitHub Organization 或 Bitbucket Team/Project,并自动为包含分支的仓库建立新的多分支流水线,而后拉取包括 Jenkinsfile 在内的源码:

Scan repository log

  1. 当前,这项功能仅适用于 GitHub 和 Bitbucket 中的仓库,分别由 GitHub Organization Folder 和 Bitbucket Branch Source 这两个插件提供。
  2. 一旦任务被成功建立,构建将会被自动触发:

Builds triggered

配置 Webhooks

  1. 咱们须要配置 Jenkins 服务器以便与咱们的 GitHub 仓库通讯,为此,咱们要获取 Jenkins 的 Hook URL。
  2. 导航到 Manage Jenkins 页面,而后选择 Configure System
  3. 找到 GitHub 插件配置部分,而后点击 Advanced 按钮。
  4. 选择 Specify another hook URL for GitHub configuration

Webhooks

  1. 将文本框中的 URL 复制出来。
  2. 单击 Save,返回到 Jenkins 工做台。
  3. 打开浏览器,导航到 GitHub 选项卡,而后选择您的 GitHub 仓库。
  4. 单击 Settings,导航到仓库设置:

Settings

  1. 点击 Webhooks 部分。
  2. 点击 Add Webhook 按钮,而后将 Hook URL 粘贴在 Playload URL 中。
  3. 确保 Webhook 触发器已选中 Just the push event 选项。

Add webhook

  1. 点击击 Add webhook,就会把此 webhook 添加到您的仓库。
  2. 正确添加 Webhook 后,您将会看到带有绿勾的 Webhook:

Added webhook

  1. 返回到仓库,而后切换到对应分支并更新任何文件。在此,咱们更新 README.md 文件。
  2. 如今将会看到 Jenkins 任务被自动触发:

CI triggers

  1. 流水线执行完成后,能够经过点击 Build History 下的构建号来验证执行过的构建。
  2. 点击构建号,而后选择 Console Output,您即可以看到每一个构建步骤的输出日志:

Console Output

进一步阅读

Learn How to Set Up a CI/CD Pipeline From Scratchui

API Builder: A Simple CI/CD Implementation – Part 1spa

相关文章
相关标签/搜索