[第11期] Jenkins-使用共享库对Pipeline扩展

hello 大家好,我是泽阳。

我们给大家带来的是Jenkins共享库的实践。

3a100fb7db707dadafdd3f23cdb2c514.png

那么上一期呢我们在操作的时候呢发现了Jenkinsfile中的代码越来越多了,这时候管理起来非常复杂那今天我们就来解决这个问题。

13a94c439fd25f57dfed829d0513cc30.png

首先, 我们来看一下怎么来解决,在Jenkinsfile里面我们可以写很多功能函数来实现我们的代码的灵活性。随着我们有各种中间件、各种类型的项目,Jenkinsfile可能变成了很多个管理起来就非常复杂了。

7eef281a195c940087b87edbd746ebdb.png

那这时候我们把所有的功能函数全部都抽放在了一个这个仓库里面-就是我们今天所说的共享库,然后我们通过一个Jenkinsfile来适配多个项目。这是我们要实现的一个目标。

b93b8356f7447e1d01231dad7aaeb6b4.png

首先我们先来看一下什么是共享库,共享库的目录结构是怎样的呢?这跟我们之前见到Java项目的结构一致。

  • src目录存放的就是我们共享库里面的一些代码,我们自己写的一些方法和类呢都可以放到这个src目录。

  • vars里面是一些动态的一些脚本,还有一些变量我们都可以放到vars下面。

  • resources顾名思义就是存放我们的资源文件的例如在流水线里面用到了json或者是yaml文件。

OK, 这是共享库的目录结构。创建好共享库之后,接下来我们需要在Jenkins的设置里面去配置这个共享库。导航到Jenkins系统设置然后全局共享库配置

294d3764ea4553944aaa7301663aaf8c.png

在这里,首先定义好共享库名称和定共享库的版本。然后,我们需要定义好我们的共享库的位置。(所有的git上面都是可以支持的我这里面放的是GitHub所以我这里配置好我共享库的地址,如果是一个私有的项目我可以配置认证信息)

c6ba34c8c2b4c27c3e3ea8e567a66246.png

最重要的一点就是在Jenkinsfile里面去导入共享库。Jenkinsfile里面决定了流水线的运行,所以是在这里去引用的。OK以上就是我们整个这个共享库的配置过程。

b744eb2182eb1b55fcd546e0d0d418d7.png

我们实现的目标就达成了:我们维护一个共享库、维护一套Jenkinsfile为多个项目、多种不同类型的项目提供流水线。

8698c72f20786e604928be1c2b97317f.png

最后我们来总结一下,共享库的实践并不是很复杂。如果你是第一次接触的话,那没关系,你可以先收藏下来,后面你肯定能用得上。

68d943b535dd83d9b077ca04e96d346f.png

那我们来总结一下共享库的几个步骤

  • 第一、就是我们先去创建一个共享库

  • 第二、我们为共享库创建好我们的目录结构和代码

  • 第三、要把共享库加到我们的Jenkins设置里面

  • 第四、在jenkinsfile里面去引用这个共享库

OK,以上就是我们的整个过程。

c9d99a0f3c55ade8256f048b8bea6c06.png

那么又有一个问题来了,如何让我们的流水线更加灵活更加强大呢?--这时候我们可能就需要借助编程语言,如果你会1门编程语言,那么你的流水线就会越来越完善、更加灵活。

这是我们这一期的分享,感谢大家观看,后续内容敬请期待!

about us

DevOps云学堂,一个盛满新技术实践的学习平台。技术开放交流,技术实践实施分享。目前课程正在进一步覆盖DevOps全流程!

3c9f941a2790ea5bd28ec1a93c67161d.gif

我们开放的资源:DevOps开源实践文档、技术交流圈、FAQ文档库。扫码关注公众号,回复“devops”免费获取。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值