JenkinsFile(三)share-lib共享库

一  基本概念

学习目的:学习Jenkins共享库的配置,编写更加灵活强大的流水线!

理解上:类似编程语言中的代码复用,不同阶段可能有共用的地方!

Jenkins中:使用'Groovy语法',共享库中存储的'每个文件都是一个Groovy的类',每个文件(类)中包含'一个或多个方法',每个方法包含groovy语句块
'题外话':对于具有编程能力的同学应该清楚一些;

理解:在'编程语言Python中',我们可以将Python代码写到一个文件中,当代码数量增加,我们可以将代码打包成模块然后再以import的方式使用此模块中的方法。

二  share-lib的结构和内容

(1)共享库的结构如下所示

说明:这个仓库中包含了很多类,后续-->kubernetes中的API方法封装在了kubernetes.groovy文件中,便于后面引用。

(3)解释说明

src目录主要存放我们要'编写的groovy类',执行流水线时,此目录将添加到class_path中

vars目录主要存放'脚本文件',这些脚本文件在流水线中作为'变量公开'

resources目录允许从'外部库中'使用步骤来'加载相关联的非Groovy的资源文件'

三    实验

说明:本次实验以github为例后续以gitlab为例,声明式

(1)创建项目

(2)递归的创建层级目录-->src

(3)vars

(4)jenkins上配置做引入

说明:全局配置--->ctrl+f(Google浏览器)--->lib进行定位

'额外说明':不要把gitlab和github在jenkins中弄'混淆了'

(5)在jenkins中的jenkinsfile上引入共享库

备注:三个缺1不可-->(1)'幻数';(2)'@_加载';(3)'创建对象'使用share-lib中的方法

过程:先远程下载jenkinslib库,然后检查,最后在jenkinsfile中引用

(6)测试共享库的方法是否能调用

说明:tools相当于整个文件(实例对象),然后调用里面的方法(传参)!

后续:测试进行上图

进一步需求:对jenkinsfile也做版本控制

(1)在github上增加一个jenkinsfile

目的:jenkinsfile也放在github上目的是做版本控制的,省的过了一段时间改了什么都忘记了

(2)更改pipeline的方式

备注:之前是在本地书写pipeline,现在是通过远程拉取pipeline(jenkinsfile)文件来执行

之前

现在

'好处':做开发的时候基于不同分支的jenkinsfile进行构建!

(3)使用vars

备注:似乎'vars目录下'类只有一个方法的时候是'直接调用'的

需求:printMes目的是做一个颜色的输出!

核心:'排查问题'的时候'打印颜色'

(1)下载插件

备注:'不需要重启'

(2)将颜色封装到PrintMes里面,代码生成器的使用

(3)相关demo下载

(4)tools.groovy的变更

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])
    }
}

备注:资料

(5)类似这种在不同的阶段标注不同的颜色

核心:把相当的代码'集成到share lib中',然后在'Jenkinsfile'中引用!

说明:声明式是'结构化'的,往里面填充东西即可!

(6)结果

插件安装

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值