找回密码
 立即注册
首页 业界区 安全 Jenkins Share Library教程 —— 开发入门

Jenkins Share Library教程 —— 开发入门

泠邸 昨天 22:10
写在前面

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

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

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

你需要的环境

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

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

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

  • 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 写:
  1. @Library('my-shared-lib') _
  2. pipeline {
  3.   agent any
  4.   stages {
  5.     stage('Say Hello') {
  6.       steps {
  7.         helloWorld('软件测试君')
  8.       }
  9.     }
  10.   }
  11. }
复制代码
运行后,你会在控制台输出看到:
  1. [Pipeline] echo
  2. Hello, 软件测试君! Welcome to Shared Library!
复制代码
恭喜!你已经完成了第一个共享库调用!
七、进阶示例(模块化封装)

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


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

相关推荐

您需要登录后才可以回帖 登录 | 立即注册