如何构建持续集成?

「CODING 持续集成」基于 Jenkins 提供服务和能力,并做了大量优化工作。所以配置持续集成所用的脚本,即意味着给 Jenkins 写脚本,它有自己的名字——Jenkinsfile。Jenkinsfile 定义了持续集成中的工作流水线(pipeline),其实现对步骤的流式化封装和管理。流水线可以顺序执行,也可以并行执行。

每一次的目标代码变动都会触发「CODING 持续集成」按照 Jenkinsfile 里的流水线自动化执行一次。

初始化持续集成

进入项目,在左侧栏选择【持续集成】进入欢迎页面。点击【开始持续集成】初始化持续集成。

创建持续集成任务

按照提示,依次设置“Job 名称”、“触发机制”、“自动取消”以及“通知提醒”。

持续集成触发机制:分为代码更新合并请求执行两种

代码更新:可以选择推送到指定分支/标签触发,支持填写正则表达式。

合并请求执行:创建合并请求,或者修改合并请求的目标分支、源分支,或者合并该合并请求时,都会自动触发构建。

自动取消

自动取消相同版本号:当推送相同版本的代码触发任务执行时,构建记录会自动将还在执行的任务取消;并只保留最新执行的任务。

自动取消相同合并请求:当短时间内多次修改合并请求的目标分支、或源分支触发任务执行时,构建记录会自动将还在执行的任务取消;并只保留最新执行的任务。

选择持续集成过程(Jenkinsfile)模板

在这里,页面提供了 3 种适用于不同场景的模板选项。

配置持续集成过程(Pipeline)

我们在这个页面配置持续集成的详细过程,也是在编排流水线(pipeline)。

这里默认显示的是“图形化编辑器”,提供了可视化、易上手的编排工具。

左边展示的是流水线,按照简易模板分成了“开始”、“检出”、“构建”、“测试”以及“部署”共 5 个阶段。从左往右是它的执行顺序。

流水线上每一个阶段具体的执行命令都可以自定义,选中某个阶段,在右边可以对选中的阶段进行更详细的步骤配置。

比如先选中“构建”阶段,然后在右边的配置界面中点击第 2 个步骤“执行 Shell 脚本”,即可以看到这个步骤执行的具体命令。

可以看到,这个步骤执行的命令是docker version,即输出当前环境中 docker 的版本。

配置好自定义的阶段和步骤后,点击“开始持续集成”触发第一次构建。

查看构建

触发构建后,页面会跳到“构建记录”。如图所示,这一条构建记录即是我们刚才触发的。在这里可以看到构建的状态、触发信息、持续时长等信息,还可以进行删除等操作。由于我们使用的是系统默认模板,所以构建成功。

点击构建记录,我们可以查看流水线上每一个阶段的成功与否,每一个步骤命令具体的执行效果和日志。

比如我们选中“构建”阶段,点击第 2 个步骤,它执行的命令是docker version。可以看到,下面的输出是当前环境 docker 的版本信息,符合预期。

恭喜!你成功地运行了第一次持续集成,并对其中的过程配置、查看构建等有了基本的了解。接下来,你还可以查看这次构建的“改动记录”、“测试报告”以及“构建报告”。

状态徽标

持续集成状态徽标可以实时显示当前项目的持续集成状态。

  1. 进入【持续集成】页面,点击任意一个构建记录,点击【获取状态徽标】按钮。

  1. 目前状态徽标支持 Markdown 格式及 HTML 格式,您可以按照实际需求进行选择。

环境变量

Shell 脚本和批处理文件使用环境变量来存储临时值,用于以后在脚本中引用,也用于传递数据和参数给子进程。

持续集成最后一步是要把构建好的镜像推送至远端的私有仓库,且需要用户名和密码验证。这时便可以引入环境变量,通过环境变量来输入用户名和密码。

相关文章