DevOps / Jenkins

Jenkins高级用法-共享库使用

浅时光 · 6月21日 · 2020年 · 68720次已读

一、共享库介绍

  • src目录类似于标准Java源目录结构。执行流水文章来源(Source):https://www.dqzboy.com线时,此目录将添加到类路径径中。
  • vars目录托管脚本文件,这些脚本文件在“管道”中作为变量公开
  • resourc文章来源(Source):https://www.dqzboy.comes目录允许libr文章来源(Source):https://www.dqzboy.comaryResource从外部库中是要步骤来加载相关联的非Groovy文件
  • Jenkins官方介绍:扩展共享库

目录结构如下图所示:

二、共享库实践

1、创建共享库

  • 最后目录结果如下:
  • 创建vars库目录

2、编写方法文件

  • src/org/devops目录下创建一个方法,文件名字定义为 tool.groovy
  • 在日志中将重点步骤通过不同的颜色高亮显示
  • 需要安装插件AnsiColor,才能使用ansiColor()方法
image
ffwj2
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])
    }
}
  • Jenkins安装插件Ans文章来源(Source):https://www.dqzboy.comiColor
ansicolor
  • 重启Jenkins生效
restart jenkins

3、使用共享库

4、引用共享库

  • 编写jenkinsfile,然后在jenkinsfile中通过@Library('jenkinslib') _来加载共享库
  • 新建一个JOB任务
  • 将下面的代码写到Job中
#!groovy
@Library('jenkinslib') _     
def tool = new org.devops.tool()

pipeline {
    agent { node {  label "master" }}

    stages {
        //下载代码
        stage("GetCode"){ 
            steps{  
                timeout(time:5, unit:"MINUTES"){   
                    script{ 
                        tool.PrintMes("获取代码",'green')
                    }
                }
            }
        }
    }
}
  • 然后运行该Job并查看Job输出日志
  • 直接将下面的片段,放在jenkinsfi文章来源(Source):https://www.dqzboy.comle文件的头部即可
1599059641 ae7af2e544b8e09


0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!