什么是扩展共享库

在工作中,我们可能会有很多Maven项目的打包部署,还有Android、iOS等等的打包任务,虽然项目不同,但是打包、部署等等流程有很多相似之处,扩展库共享库允许我们抽象出很多公共部分,这样后续在新项目配置Pipeline的时候,会非常简便

准备

扩展共享库配置

1.创建Gitlab Repo

2.目录说明

(root) +- src # Groovy 源码文件 | +- com | +- michael | +- Bar.groovy # for org.foo.Bar class,主要是类库相关 +- vars # 变量和公共过程 | +- foo.groovy # 全局'foo'变量 | +- foo.txt # 'foo' 变量的帮助文档 +- resources # 资源文件 (external libraries only) | +- com | +- michael | +- bar.json # static helper data for com.michael.Bar | +- bar.shell # shell scripts | +- package.json # 主要是Git commit message 插件 | +- commitlint.config.js # 主要是Git commit message 插件

3.配置Jenkins扩展共享库

4.编写Pipeline Demo

在git的jenkins-shared-libraries中的vars下面,新建log.groovy文件,并提交

`def info(message) { echo "INFO: ${message}" }

def warning(message) { echo "WARNING: ${message}" }

def error(message) { echo "ERROR: ${message}" }`

5.执行

PS:这里仅仅是最简单的Hello world的扩展库介绍,让大家有个感性认识,后面的文章,会针对Maven、Npm这些常见的打包部署方式的项目,进行Pipeline的扩展共享库的实践介绍。