一、共享库介绍
Jenkins 的共享库允许用户在多个 Pipeline 和项目中共享代码和功能,这样可以避免在不同的 Pipeline 中重复编写相同的代码。共享库通常包含一组 Groovy 脚本文件(如类、变量和方法),可以从 Jenkinsfile 中引用。
什么是Jenkins共享库?
Jenkins共享库是一种可重用代码的机制,它允许项目组在Jenkins中编写自己的通用函数和类。这些通用函数和类可以被多个流水线或任务调用,从而避免了代码的重复编写。
使用Jenkins共享库,您可以将常见的构建步骤封装到库函数中,并使它们可供多个Jenkinsfile使用。这样不仅可以简化Jenkinsfile的编写,还可以减少错误和维护成本。
Jenkins共享库的组成部分
Jenkins共享库包含以下组成部分:
1. src目录
该目录包含共享库的所有源代码,包括Groovy类和其他资源文件等。这些代码通过Git SCM进行版本控制,并使用Jenkins标准插件管理器进行安装和升级。
2. vars目录
该目录包含定义Jenkins全局变量和步骤的脚本文件(以.groovy为扩展名)。这些脚本文件被称为”vars”,每个文件定义一个全局变量或步骤。
3. resources目录
该目录包含共享库使用的其他资源文件,例如文档、图片等。
使用Jenkins共享库的优点
使用Jenkins共享库的主要优点包括:
- 避免代码重复编写
- 简化Jenki
文章来源(Source):https://dqzboy.com nsfile的编写 - 提高代码复用和可维护性
- 支持版本控制和升级管理
- 增加了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' : "\033[40;31m >>>>>>>>>>>${value}<<<<<<<<<<< \033[0m",
'blue' : "\033[47;34m ${value} \033[0m",
'green' : "[1;32m>>>>>>>>>>${value}>>>>>>>>>>[m",
'green1' : "\033[40;32m >>>>>>>>>>>${value}<<<<<<<<<<< \033[0m" ]
ansiColor('xterm') {
println(colors[color])
}
}
- Jenkins安装插件AnsiColor
- 重启Jenkins生效
3、使用共享库
4、引用共享库
- 编写jenkinsfile,然后在jenkinsfile中通过
@Library('jenkinslib') _来加载共享库
- 新建一个JOB任务
原文链接:https://dqzboy.com
- 将下面的代码写到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文件的头部即可

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