持续集成交付CICD:Jenkins Sharedlibrary 共享库

本文介绍了如何在Jenkins中使用Groovy构建共享库,包括共享库的概念、配置、加载以及实验过程。同时,详细列举了在实践中遇到的路径报错和readJSON报错及其解决方法。

目录

一、理论

1.共享库

2.共享库配置

3.使用共享库

4.共享库扩展

二、实验

1.连接共享库

2.使用共享库

三、问题

1.路径报错

2.readJSON 报错




一、理论

1.共享库

(1)概念

1)共享库这并不是一个全新的概念,其实在编程语言Python中,我们可以将Python代码写到一个文件
中,当代码数量增加,我们可以将代码打包成模块然后再以import的方式使用此模块中的方法。

2)在Jenkins中使用Groovy语法,共享库中存储的每个文件都是一个groovy的类,每个文件(类)中
包含一个或多个方法。每个方法包含groovy语句块。

3)可以在Git等版本控制系统中创建一个项目用于存储共享库。共享流水线有助于减少冗余并保持代
码整洁。

(2)属性

1)共享库名称

2)共享库版本

3)共享库地址

(3)库结构

1)src: 类似于java的源码目录,执行流水线时会加载到class路径中。

2)vars: 存放全局变量脚本,小的功能函数。

3)resources: 存放资源文件,类似于配置信息文件。
├── src
│ └── org
│ └── devops
│ └── Tools.groovy
├── vars
│ └── GetHosts.groovy
│ └── GetCommitId.groovy
│ 
└── resources
│ └── org
│ └── devops
│ └── config.json

2.共享库配置

(1)创建一个共享库

可以直接在gitlab中创建一个公开类型的仓库,仓库名称自定义。公开类型的仓库是为了便于验
证,也可以创建私有类型的,但是需要提前配置好仓库的认证凭据。

(2). 创建groovy类文件

直接在gitlab仓库的页面操作即可

3.使用共享库

(1)系统配置

1)系统设置
Jenkins系统配置 -> Global Pipeline Libraries

首先,为共享库设置一个名称 mylib (自定义,无需与gitlab仓库一致),注意这个名称后
续在Jenkinsfile中引用。 再设置一个默认的版本,这里的版本是分支的名称。我默认配置的是 master版本。

2)配置共享仓库地址
接下来配置共享库的仓库地址,仓库在gitlab中,可以使用gitlab方式或者git方式。
如果仓库是私有的方式,需要在jenkins的凭据中添加一个账号用于下载共享库。

3)加载共享仓库
在Jenkinsfile中使用 @Library('mylib') _ 来加载共享库,注意后面符号 _ 用于加载。 类的
实例化 def mytools = new org.devops.jenkinstest() ,使用类中的方法`mytools.PrintMsg(msg)` 。

4.共享库扩展

(1)加载方式

1)加载mylib共享库
@Library('mylib') _

2)加载mylib共享库的1.0版本
@Library('mylib@1.0') _

3)加载多个共享库, mylib共享库的默认版本, yourlib共享库的2.0版本(分支)
@Library(['mylib', 'yourlib@2.0']) _

二、实验

1.连接共享库

(1)gitlab创建group

(2)创建新共享库项目jenkinslib

(3)创建完成

(4)打开web IDE

(5)创建src目录,存放类,函数和方法等源码文件

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值