泠邸 发表于 2025-10-13 22:10:03

Jenkins Share Library教程 —— 开发入门

写在前面

今日心情有点小丧,但总体问题不大,有一些突然来的活,还没整完,明天再继续搞把。
有难度吗?
有一些把,我觉得还是要做一些自己不擅长的工作,才会有成长的吧,为什么?
用我们测试同学的话术,就是提升“自己”的“测试覆盖率”,即解决问题的能力,核心就是会了就是赚了!
学习目标

通过本教程,你将学会:
✅ 理解 Jenkins Shared Library 是什么
✅ 创建自己的共享库项目(Git 仓库)
✅ 在 Jenkinsfile 中调用共享库
✅ 实际运行一个示例流水线
✅ 能独立维护公司内部的通用 Jenkins 函数
一、什么是 Jenkins Shared Library?

可以把 Jenkins 比喻成一个“厨师”,而 Shared Library 就是一份“菜谱合集”。
在没有共享库时,每个 Jenkinsfile 都要写重复的步骤,比如:
pipeline {
agent any
stages {
    stage('Build') {
      steps {
      sh 'mvn clean install'
      }
    }
    stage('Test') {
      steps {
      sh 'mvn compile test'
      }
    }
}
}几百个项目要是都这样写的话,会非常麻烦。
于是我们可以把这些公共逻辑抽取出来放到一个“共享库”里,以后只要一句话就能复用。
也就是可以直接通过方法实现调用:
@Library('my-shared-lib') _
pipeline {
agent any
stages {
    stage('Build & Test') {
      steps {
      myPipeline.buildAndTest()
      }
    }
}
}这样,所有项目就能共享一套逻辑,方便统一管理和维护。
二、准备环境

你需要的环境

工具说明Jenkins版本 >= 2.3(最好用 LTS)Git版本管理工具一个 Git 仓库用来存放共享库代码(GitHub / GitLab 都行)三、创建共享库项目

在你的 Git 仓库中新建项目,例如:
https://github.com/yourname/jenkins-shared-lib-demo项目结构如下:
jenkins-shared-lib-demo/
├── vars/
│   └── helloWorld.groovy
├── src/
│   └── org/example/Utils.groovy
└── resources/
    └── templates/email.txt四、编写第一个共享函数

新建文件:vars/helloWorld.groovy
def call(String name = 'Jenkins') {
    echo "Hello, ${name}! Welcome to Shared Library!"
}解释:

[*]vars/ 目录下的每个 .groovy 文件会自动变成一个全局函数。
[*]文件名 helloWorld.groovy 就对应函数名 helloWorld()
[*]def call(...) 是约定写法,表示默认执行逻辑。
五、在 Jenkins 中配置共享库

1️⃣ 打开 Jenkins → “系统管理” → “系统配置”

2️⃣ 滚动到 “Global Pipeline Libraries(全局流水线库)”

点击 “Add” 新建一条:
字段值名称my-shared-lib(后面要引用这个名字)Default versionmain(你的 Git 默认分支)Source Code ManagementGitRepository URLhttps://github.com/yourname/jenkins-shared-lib-demo.git保存。
六、在 Jenkinsfile 中使用

在你的项目 Jenkinsfile 写:
@Library('my-shared-lib') _
pipeline {
agent any
stages {
    stage('Say Hello') {
      steps {
      helloWorld('软件测试君')
      }
    }
}
}运行后,你会在控制台输出看到:
echo
Hello, 软件测试君! Welcome to Shared Library!恭喜!你已经完成了第一个共享库调用!
七、进阶示例(模块化封装)

创建一个更实用的函数,比如构建 Maven 项目:


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

忙贬 发表于 2025-10-16 00:43:41

懂技术并乐意极积无私分享的人越来越少。珍惜

愤血冒 发表于 2025-10-22 21:33:13

谢谢楼主提供!

蜴间囝 发表于 2025-11-24 20:51:13

谢谢分享,试用一下

暴灵珊 发表于 2025-11-26 00:12:12

热心回复!

晌集涟 发表于 2025-11-30 01:06:52

很好很强大我过来先占个楼 待编辑

创蟀征 发表于 2025-12-1 23:09:12

懂技术并乐意极积无私分享的人越来越少。珍惜

指陡 发表于 2025-12-4 02:20:32

东西不错很实用谢谢分享

劳暄美 发表于 昨天 12:19

收藏一下   不知道什么时候能用到
页: [1]
查看完整版本: Jenkins Share Library教程 —— 开发入门