使用 Jenkins 共享库对流水线进行扩展
── docs│ └── README.mdREADME.md├── src│ └── org│ └── devops│ └── tools.groovy└── vars
新建文件src/org/devops/tools.groovy, 在此我将这个文件定义为扩展工具类,主要放一些扩展方法。
例如:在构建日志中查看流水线详细日志会很乱,我们可以在日志中将重点步骤通过不同的颜色高亮显示,便于排错。我们开始写这样的一个方法PrintMes(),包含两个参数,输出内容value和内容的颜色color。
AnsiColor,这样才能使用ansiColor()方法,可以在片段生成器查看更多的用法。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])}}
我们导航到 系统配置 -> Global Pipeline Libraries
首先,我们为共享库设置一个名称jenkinslib,注意这个名称后续在Jenkinsfile中引用。再设置一个默认的版本,这里的版本是分支的名称。我默认配置的是master版本。


好,到此共享库在Jenkins的配置就完成了,接下来测试在Jenkinsfile中引用。
在Jenkinsfile中使用@Library('jenkinslib') _来加载共享库,注意后面符号_用于加载。类的实例化def tools = new org.devops.tools(),使用类中的方法tools.PrintMes("获取代码",'green')。
#!groovy@Library('jenkinslib') _def tools = new org.devops.tools()pipeline {agent { node { label "master" }}stages {//下载代码stage("GetCode"){steps{timeout(time:5, unit:"MINUTES"){script{tools.PrintMes("获取代码",'green')}}}}}}
评论
