jenkins pipeline之流水线脚本版本化学习二(简化版)
Posted landhu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins pipeline之流水线脚本版本化学习二(简化版)相关的知识,希望对你有一定的参考价值。
接上篇,继续看看共享库怎么写,实际使用中,不可能只有一个函数,多个时,怎么调用呢?
先看看官网中,对共享库的几个文件夹的说法
src 目录应该看起来像标准的 Java 源目录结构。当执行流水线时,该目录被添加到类路径下。 vars 目录定义可从流水线访问的全局变量的脚本。 每个 *.groovy 文件的基名应该是一个 Groovy (~ Java) 标识符, 通常是 camelCased。 匹配 *.txt, 如果存在, 可以包含文档, 通过系统的配置标记格式化从处理 (所以可能是 html, Markdown 等,虽然 txt 扩展是必需的)。 这些目录中的 Groovy 源文件 在脚本化流水线中的 “CPS transformation” 一样。 resources 目录允许从外部库中使用 libraryResource 步骤来加载有关的非 Groovy 文件。 目前,内部库不支持该特性。 根目录下的其他目录被保留下来以便于将来的增强。
但在脚本式的流水线中,我们一般只将脚本写入vars就行,通过library全局调用。注意,是全局
在上一个实例中,我们在vars的sayHello中定义了一个call方法,该方法解释如下:
call 方法 允许全局变量以一种类似于步骤的方式被调用
在流水线中可以直接使用
但如果在该脚本中多加了两个函数,如下:
#!/usr/bin/env groovy def call(String name = ‘human‘) { // Any valid steps can be called from this code, just like in other // Scripted Pipeline echo "Hello, ${name}." } def info(message) { echo "INFO: ${message}" } def warning(message) { echo "WARNING: ${message}" }
那么在流水线中怎么调用呢,
也很简单如下:
sayHello() sayHello.info "staring"
结果如下:
[Pipeline] echo
Hello, human.
[Pipeline] echo
INFO: staring
[Pipeline] stage
以上是关于jenkins pipeline之流水线脚本版本化学习二(简化版)的主要内容,如果未能解决你的问题,请参考以下文章
jenkins pipeline之流水线脚本版本化学习二(简化版)
如何使用 Jenkins 的脚本化流水线(Pipeline)