图形化编辑器
认识图形化编辑器
什么是图形化编辑器
经过 CODING 团队对 Jenkins Pipeline 开发体验的反思与摸索,我们认为“繁简由人的可视化”对于用户快速直观地理解、编排工作流水线(Pipeline)是非常必要的。于是「CODING 持续集成」推出了“图形化编辑器”,在基于编辑 Jenkinsfile (过程描述文件)的核心功能之上设计了可视化视图,同时也兼容绝大部分自定义操作,实现了边写边看、所见即所得的直观编辑体验。
Jenkins Pipeline (流水线)是可自定义的工作模型,它定义了交付软件的完整流程,一般包含构建、测试和部署等阶段。
将 Jenkins Pipeline (流水线)以代码文本形式写出来的叫做 Jenkinsfile (过程描述文件)。
图形化编辑器与文本编辑器的联系与区别
就「转换视图」而言,因为图形化编辑器中所有步骤都是预设好的,所以可以 100% 转换成文本编辑器的视图,即在图形化编辑器上增删的所有步骤都可以转换成代码文本。
反之则不行,文本编辑器上增删的代码文本必须经过“规则校验”的判定程序,通过的才可以转换成图形编辑器视图,不通过的会提示“无法解析 Jenkinsfile 内容”。
就「自定义操作范围」而言,文本编辑器所支持的范围比图形化编辑器更大。图形化编辑器预设了大量常用的步骤,比较方便;而文本编辑器没有限制,更能自由地创建流水线。
理解图形化编辑器
图形化编辑器是用来查看、编辑 Jenkinsfile (过程描述文件)的,而 Jenkinsfile 又是 Jenkins Pipeline (流水线)的代码文本载体,所以在理解图形化编辑器之前,我们需要先理解流水线的几个重要概念。
过程描述文件支持
声明式(Declarative)
和脚本式(Script)
两种语法。因为声明式(Declarative)
语法是 Jenkins 更新支持的特性,所以本篇主要聚焦于声明式文件的语法规则。
流水线概念
流水线(Pipeline)
流水线
是可自定义的工作模型,它定义了交付软件的完整流程,一般包含构建、测试和部署等阶段。
执行环境(Agent)
执行环境描述了整个流水线
执行过程或者某个阶段
的执行环境,必须出现在描述文件
顶级或者每一个阶段
里。
是否必须 | 是 |
---|---|
参数列表 | 见下文 |
允许的位置 | 必须出现在描述文件 顶级或者每一个阶段 里 |
阶段(Stage)
一个阶段
定义了一系列紧密相关的步骤
。每个阶段
在整条流水线中各自承担了独立、明确的责任。比如“构建阶段”、“测试阶段”或“部署阶段”。通常来讲,所有的实际构建过程都放置在阶段
里面。
是否必须 | 至少一个 |
---|---|
参数列表 | 一个强制的字符串类型参数,用以指明阶段名称 |
允许的位置 | 在阶段(stage) 区块内部 |
阶段列表(Stages)
阶段列表
包含了一系列的阶段
,一个阶段列表
最少包含一个阶段
。流水线
里必须要有且仅有一个阶段列表
。
是否必须 | 是 |
---|---|
参数列表 | 无 |
允许的位置 | 在 流水线(pipeline) 内只能出现一次 |
步骤列表(Steps)
步骤列表
描述了一个阶段
内具体要做什么事,具体要执行什么命令。比如有一个步骤(step)
需要系统打印一条“构建中…”的消息,即执行命令echo '构建中...'
。
是否必须 | 是 |
---|---|
参数列表 | 无 |
允许的位置 | 在每一个 阶段(stage) 块内 |
并行(Parallel)
并行用来声明一些并行执行的阶段
,通常适用于阶段
与阶段
之间不存在依赖关系的情况下,用来加快执行速度。注意任何含并行
区块下的阶段
不能再设置执行环境
。
脚本(Script)
执行一段脚本作为一个步骤。平时一般不用,有时需要“应急出口”才派上用场。
举例:文本编辑器视图下的过程描述文件
pipeline {
agent any
stages {
stage('检出') {
steps {
sh 'ci-init'
checkout([$class: 'GitSCM', branches: [[name: env.GIT_BUILD_REF]],
userRemoteConfigs: [[url: env.GIT_REPO_URL]]])
}
}
stage('构建') {
steps {
echo '构建中...'
sh 'make'
echo '构建完成.'
}
}
stage('测试') {
steps {
echo '单元测试中...'
sh 'make check'
junit 'reports/**/*.xml'
echo '单元测试完成.'
}
}
stage('部署') {
steps {
echo '部署中...'
sh 'make publish'
echo '部署完成'
}
}
}
}
图形化编辑器视图对比文本编辑器视图
使用图形化编辑器
进入图形化编辑器界面
点击【构建与部署】->【构建】-> 任意构建计划的【设置】。
点击【流程配置】即可进入图形化编辑器界面。
构建过程设置
点击“开始”,在编辑框右侧会弹出配置栏。在配置栏,我们可以选择“构建基础环境”,也可以增加“环境变量”。
此处设置的环境变量会储存在 Jenkinsfile 中。
配置阶段
选中任一阶段,在编辑框右侧会弹出配置栏。在配置栏,我们可以对当前阶段进行命名、编排步骤以及删除操作。
通常模板第一个阶段“检出”是必要的,我们无需改动。这一阶段负责将当前项目的代码仓库检出到当前持续集成的环境下,后面一系列的构建、测试等操作都是对这里检出的代码来进行的。
编辑步骤
点击右侧配置栏里任一步骤,即可进行步骤的具体编辑。比如我们在“构建”的配置栏中,点击“打印消息”,即可看到“打印消息”这一类别步骤下的具体编辑界面。输入想要打印的消息,比如用构建中...
提醒自己这是“构建”阶段的开始,点击“保存”即可,它会自动返回配置阶段的界面。当然,我们也可以点击“删除此步骤”来进行删除步骤的操作。
增加步骤
点击右侧配置栏里的“增加步骤”,即可看到“版本控制”、“构建过程”和“其他”三个分类,它们各自有若干个不同类型的具体步骤,这些步骤提供不同的能力,对其进行编辑的地方也截然不同,有的步骤还可以增加子步骤。依据你的工作流来搭配使用吧!步骤具体请见图形化编辑器可用步骤说明。
