图形化编辑器

认识图形化编辑器

什么是图形化编辑器

经过 CODING 团队对 Jenkins Pipeline 开发体验的反思与摸索,我们认为“繁简由人的可视化”对于用户快速直观地理解、编排工作流水线(Pipeline)是非常必要的。于是「CODING 持续集成」推出了“图形化编辑器”,在基于编辑 Jenkinsfile (过程描述文件)的核心功能之上设计了可视化视图,同时也兼容绝大部分自定义操作,实现了边写边看、所见即所得的直观编辑体验。

Jenkins Pipeline (流水线)是可自定义的工作模型,它定义了交付软件的完整流程,一般包含构建、测试和部署等阶段。

将 Jenkins Pipeline (流水线)以代码文本形式写出来的叫做 Jenkinsfile (过程描述文件)。

图形化编辑器与文本编辑器的联系与区别

转换视图而言,因为图形化编辑器中所有步骤都是预设好的,所以可以 100% 转换成文本编辑器的视图,即在图形化编辑器上增删的所有步骤都可以转换成代码文本。

反之则不行,文本编辑器上增删的代码文本必须经过“规则校验”的判定程序,通过的才可以转换成图形编辑器视图,不通过的会提示“无法解析 Jenkinsfile 内容”。

img

自定义操作范围而言,文本编辑器所支持的范围比图形化编辑器更大。图形化编辑器预设了大量常用的步骤,比较方便;而文本编辑器没有限制,更能自由地创建流水线。

img

理解图形化编辑器

图形化编辑器是用来查看、编辑 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 '部署完成'
      }
    }
  }
}

图形化编辑器视图对比文本编辑器视图

img

img

img

img

img

使用图形化编辑器

进入图形化编辑器界面

如果项目没有启用“持续集成”功能,请先进行初始化

点击“持续集成”→“配置”→“持续集成过程”即可进入图形化编辑器界面。

img

构建过程设置

点击“开始”,在编辑框右侧会弹出配置栏。在配置栏,我们可以选择“构建基础环境”,也可以增加“环境变量”。

此处设置的环境变量会储存在 Jenkinsfile 中。

配置阶段

选中任一阶段,在编辑框右侧会弹出配置栏。在配置栏,我们可以对当前阶段进行命名、编排步骤以及删除操作。

img

通常模板第一个阶段“检出”是必要的,我们无需改动。这一阶段负责将当前项目的代码仓库检出到当前持续集成的环境下,后面一系列的构建、测试等操作都是对这里检出的代码来进行的。

编辑步骤

点击右侧配置栏里任一步骤,即可进行步骤的具体编辑。比如我们在“构建”的配置栏中,点击“打印消息”,即可看到“打印消息”这一类别步骤下的具体编辑界面。输入想要打印的消息,比如用构建中...提醒自己这是“构建”阶段的开始,点击“保存”即可,它会自动返回配置阶段的界面。当然,我们也可以点击“删除此步骤”来进行删除步骤的操作。

img

增加步骤

点击右侧配置栏里的“增加步骤”,即可看到“版本控制”、“构建过程”和“其他”三个分类,它们各自有若干个不同类型的具体步骤,这些步骤提供不同的能力,对其进行编辑的地方也截然不同,有的步骤还可以增加子步骤。依据你的工作流来搭配使用吧!步骤具体请见图形化编辑器可用步骤说明

img

上一篇持续集成的环境变量
文档是否对您有用?
感谢反馈有用
感谢反馈没用