一、共享库介绍
Jenkins 的共享库允许用户在多个 Pipeline 和项目中共享代码和功能,这样可以避免在不同的 Pipeline 中重复编写相同的代码。共享库通常包含一组 Groovy 脚本文件(如类、变量和方法),可以从 Jenkinsfile 中引用。
什么是Jenkins共享库?
Jenkins共享库是一种可重用代码的机制,它允许项目组在Jenkins中编写自己的通用函数和类。这些通用函数和类可以被多个流水线或任务调用,从而避免了代码的重复编写。
使用Jenkins共享库,您可以将常见的构建步骤封装到库函数中,并使它们可供多个Jenkinsfile使用。这样不仅可以简化Jenkinsfile的编写,还可以减少错误和维护成本。
Jenkins共享库的组成部分
Jenkins共享库包含以下组成部分:

1. src目录
该目录包含共享库的所有源代码,包括Groovy类和其他资源文件等。这些代码通过Git SCM进行版本控制,并使用Jenkins标准插件管理器进行安装和升级。
2. va
该目录包含定义Jenkins全局变量和步骤的脚本文件(以.groovy为扩展名)。这些脚本文件被称为”vars”,每个文件定义一个全局变量或步骤。
3. resources目录
该目录包含共享库使用的其他资源文件,例如文档、图片等。
使用Jenkins共享库的优点
使用Jenkins共享库的主要优点包括:
- 避免代码重复编写
- 简化Jenkinsfile的编写
- 提高代码复用和可维护性
- 支持版本控制和升级管理
- 增加了Jenkinsfile的可读性和可维护性
如何使用Jenkins共享库?
要使用Jenkins共享库,请按照以下步骤操作:
- 在Jenkins实例上安装共享库插件
- 在Git仓库中创建共享库并将其上传到远程仓库
- 在Jenkins中配置共享库的全局变量和步骤
- 在Jenkinsfile中引用共享库的步骤和变量
通过使用共享库,您可以更好地组织和管理 Jenkinsfile 中的代码,并避免在不同 Pipeline 之间重复编写相同的代码。共享库还可帮助促进代码重用和可维护性,并提高开发效率。
注意:在使用共享库时,需要仔细考虑版本控制和依赖关系,并确保所有共享库中的代码都被适当地测试和验证。建议不断更新和维护共享库以确保其与 Jenkins 和其他插件的兼容性,以及它们的可靠性和安全性。
二、共享库实践
1、创建共享库




- 最后目录结果如下:

- 创建vars库目录



2、编写方法文件
- 在
src/org/devops目录下创建一个方法,文件名字定义为tool.groovy - 在日志中将重点步骤通过不同的颜色高亮显示
- 需要安装插件AnsiColor,才能使用
ansiColor()方法


package org.devops
//格式化输出
def PrintMes(value,color){
colors = ['red' : "3[40;31m >>>>>>>>>>>${value}<<<<<<<<<<< 3[0m",
'blue' : "3[47;34m ${value} 3[0m",
'green' : "[1;32m>>>>>>>>>>${value}>>>>>>>>>>[m",
'green1' : "3[40;32m >>>>>>>>>>>${value}<<<<<<<<<<< 3[0m" ]
ansiColor('xterm') {
println(colors[color])
}
}
- Jenkins安装插件AnsiColor

- 重启Jenkins生效

3、使用共享库




4、引用共享库
- 编写jenkinsfile,然后在jenkinsfile中通过
@Library('jenkinslib') _来加载共享库
- 新建一个JOB任务

- 将下面的代码写到Job中
#!groovy
@Library('jenkinslib') _
def tool = new org.devops.tool()
pipeline {
agent { node { label "master" }}
stages {
//下载代码
stage("GetCode"){
steps{
timeout(time:5, unit:"MINUTES"){
script{
tool.PrintMes("获取代码",'green')
}
}
}
}
}
}

- 然后运行该Job并查看Job输出日志

- 直接将下面的片段,放在jenkinsfile文件的头部即可


必须 注册 为本站用户, 登录 后才可以发表评论!