Jenkins Pipeline系列(一)—— 如何配置扩展共享库

什么是扩展共享库

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

准备

  • Jenkins:安装建议参考Jenkins安装
  • Gitlab:安装建议参考Gitlab安装
    为了方便,我这里都选择Docker安装,请大家自行配置Gitlab和Jenkins相关参数,比如Gitlab的SSH Key,Jenkins的凭证,这里不做赘述

扩展共享库配置

1.创建Gitlab Repo
  • 如图,我创建了名字是jenkins-shared-libraries的Git Repo


    git-repo.png
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扩展共享库
  • 依次点击 系统管理 > 系统配置,找到Global Pipeline Libraries,如下图


    jenkins-shared-lib.png
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.执行
  • 新建JOB


    jenkins-create-job.png
  • 执行JOB
    在Pipeline中引用共享库,并使用log.info的方法


    jenkins-pipeline.png
  • 执行结果


    jenkins-pipeline-result.png

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

Reference

Jenkins安装
Gitlab安装
Jenkins Shared-Libraries

Jenkins Pipeline系列(一)—— 如何配置扩展共享库
Jenkins Pipeline系列(二)—— 使用扩展共享库构建Maven项目
Jenkins Pipeline系列(三)—— 使用扩展共享库构建微信小程序项目

推荐阅读更多精彩内容