1. 前言
本篇介绍流水线的一些界面和窗口,以及基本的脚本式流水线生成。
内容比较少,本篇只是简单的介绍流水线界面中的一些基本配置。
2. 流水线
当我们创建一个流水线任务之后,打开的界面内容如下图所示:
前面的General基本介绍就省略了。
如果有需要可以进行选项卡配置,或干脆使用默认的配置。对于流水线任务来说。
我们关注的就是流水线(Pipeline)面板中的配置。
该面板主要是一个文本编辑器,我们通过这个文本编辑器编写我们的Pipeline脚本。
上图的是一个脚本式流水线脚本。
简单的介绍一下:node() 这个关键字表明了脚本内容为脚本式。
而里面的参数,定义了这个脚本内容的运行节点,例如上面配置的就是master,也就是默认的当前主节点进行运行。
我们如果有其他的运行节点,可以在这个地方填写相应的节点名称。
后面的stage定义的就是各个阶段的任务。
阶段的写法是Groovy的闭包的语法,每个stage必须传递一个Name值进去。
例如我上面的就是传的build值,也就是说在build阶段才会执行里面的方法。
2.1 流水线语法-Pipeline Syntax
我们写流水线脚本时,不可能记住所有阶段的代码。或部分阶段不太清晰的情况下,就可以通过这个功能,进行各种帮助。打开后的界面效果如下所示:
片段生成器:我们可以通过代码生成器选择我们需要的步骤,然后配置完参数后,将会自动生成对应的流水线脚本。 生成后的指令我们可以放在脚本式指令中也可以放在声明式指令中。它是一个小的片段
Declarative Directive Generate:生成声明性指令。通过选择功能。可以生成一个用于声明式脚本的命令。例如下面所示:创建一个小的声明式代码块。
Declarative Online Documentation :声明式在线文档,点击后将会打开链接: https://jenkins.io/doc/book/pipeline/syntax/。
步骤参考:会列出各种参考语句和groovy 代码。我们如果对部分DSL语句不熟悉,或忘记了,可以通过这个步骤参考进行了解
全局变量参考:如果想知道在Pipleline中可以使用哪些默认的全局变量。那么可以通过这个功能进行查询,它会列出一些参考的全局变量
在线文档:将会打开链接为:Pipeline (jenkins.io)的网页,就是用来介绍Pipeline的各种知识的文档。
Examples Reference
:Pipeline管道的各种示例介绍。将会打开链接:Pipeline Examples (jenkins.io)
IntelliJ IDEA GDSL: 就是IDEA中的GDSL语法参考,展示如下的大量的DSL语法内容。
def ctx = context(scope: scriptScope())
contributor(ctx) {
method(name: 'parallel', type: 'Object', params: ['closures':'java.util.Map'], doc: 'Execute in parallel')
method(name: 'parallel', type: 'Object', namedParams: [parameter(name: 'closures', type: 'java.util.Map'), parameter(name: 'failFast', type: 'boolean'), ], doc: 'Execute in parallel')
method(name: 'addBadge', type: 'Object', namedParams: [parameter(name: 'icon', type: 'java.lang.String'), parameter(name: 'text', type: 'java.lang.String'), parameter(name: 'id', type: 'java.lang.String'), parameter(name: 'link', type: 'java.lang.String'), ], doc: 'Add Badge')
method(name: 'addErrorBadge', type: 'Object', params: [text:'java.lang.String'], doc: 'Add Error Badge')
method(name: 'addErrorBadge', type: 'Object', namedParams: [parameter(name: 'text', type: 'java.lang.String'), parameter(name: 'id', type: 'java.lang.String'), parameter(name: 'link', type: 'java.lang.String'), ], doc: 'Add Error Badge')
method(name: 'addHtmlBadge', type: 'Object', params: [html:'java.lang.String'], doc: 'Add a html badge Text')
method(name: 'addHtmlBadge', type: 'Object', namedParams: [parameter(name: 'html', type: 'java.lang.String'), parameter(name: 'id', type: 'java.lang.String'), ], doc: 'Add a html badge Text')
method(name: 'addInfoBadge', type: 'Object', params: [text:'java.lang.String'], doc: 'Add Info Badge')
method(name: 'addInfoBadge', type: 'Object', namedParams: [parameter(name: 'text', type: 'java.lang.String'), parameter(name: 'id', type: 'java.lang.String'), parameter(name: 'link', type: 'java.lang.String'), ], doc: 'Add Info Badge')
method(name: 'addShortText', type: 'Object', params: [text:'java.lang.String'], doc: 'Add Short Text')
method(name: 'addShortText', type: 'Object', namedParams: [parameter(name: 'text', type: 'java.lang.String'), parameter(name: 'background', type: 'java.lang.String'), parameter(name: 'border', type: 'java.lang.Integer'), parameter(name: 'borderColor', type: 'java.lang.String'), parameter(name: 'color', type: 'java.lang.String'), parameter(name: 'link', type: 'java.lang.String'), ], doc: 'Add Short Text')
method(name: 'addWarningBadge', type: 'Object', params: [text:'java.lang.String'], doc: 'Add Warning Badge')
method(name: 'addWarningBadge', type: 'Object', namedParams: [parameter(name: 'text', type: 'java.lang.String'), parameter(name: 'id', type: 'java.lang.String'), parameter(name: 'link', type: 'java.lang.String'), ], doc: 'Add Warning Badge')
...
这里面的知识点,都是关于各种管道(Pipeline)的语法支持。让我们可以快速入手而已。
当我们配置完毕后,执行脚本时,创建了多个stage阶段对象,那么就会在执行结束后生成多个相对应的模块。
例如:创建内容如下:(不指定节点时,会自动在可以执行的节点中运行。)
node(){
stage('zin'){
echo '这是第一个阶段 '
}
stage('yan'){
echo 'zinyan 的脚本式'
}
stage('build'){
echo '这是最后一个阶段 '
}
}
执行build 这个流水线后。
界面中就会按照我创建的stage生成对应的模块并进行执行。并输出每隔stage中的执行结果和时长等信息。
3. 状态
每次任务执行完毕后,都会有一个记录。例如:这是我的流水线执行的#6条记录(PS:如果不喜欢这种记录方式,有相关插件可以修改这个每一次记录的名称等信息)
变更历史:通常是展示构造结果的每次特殊的日志历史记录。
Console output :会展示本次记录的各种输出日志,例如:
我的每个脚本的内容都进行了输出。就是通过这个地方进行阅读的。
而它的分级目录 View as plain text ,就是使用文本的方式阅读输出的日志而已。
编辑构建信息:可以修改本次构建内容的一些信息,例如标题和描述等。
删除构建:这个很简单,就是删除掉本次构建记录。
回放:允许我们修改并回放一个构建过的流水线。 就算是已经被加载过的步骤,同样能够被修改。
流水线步骤:展示了每个流水线的执行时间等,步骤记录
Workspaces:工作空间,如果我们有内容输出或其他文档存储。那么就会存储在这个工作空间中了。
Git Build Data:如果我们的流水线中执行过Git的相关操作,那么就会多一个这个菜单,显示Git的相关操作记录和结果等内容。
评论区