DevOps / Jenkins

Jenkins高级用法-共享库使用

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

一、共享库介绍

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

目录结构如下图所示:

Jenkins高级用法-共享库使用-浅时光博客

二、共享库实践

1、创建共享库

Jenkins高级用法-共享库使用-浅时光博客
Jenkins高级用法-共享库使用-浅时光博客
Jenkins高级用法-共享库使用-浅时光博客
Jenkins高级用法-共享库使用-浅时光博客
  • 最后目录结果如下:
Jenkins高级用法-共享库使用-浅时光博客
  • 创建vars库目录
Jenkins高级用法-共享库使用-浅时光博客
Jenkins高级用法-共享库使用-浅时光博客
Jenkins高级用法-共享库使用-浅时光博客
文章来源(Source):https://www.dqzboy.com

2、编写方法文件

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

3、使用共享库

Jenkins高级用法-共享库使用-浅时光博客
Jenkins高级用法-共享库使用-浅时光博客
Jenkins高级用法-共享库使用-浅时光博客
Jenkins高级用法-共享库使用-浅时光博客

4、引用共享库

  • 编写jenkinsfile,然后在jenkinsfil文章来源(Source):https://www.dqzboy.come中通过@Library('jen文章来源(Source):https://www.dqzboy.comkinslib') _来加载共享库
  • 新建一个JOB任务
文章来源(Source):https://www.dqzboy.com 文章来源(Source):https://www.dqzboy.com
Jenkins高级用法-共享库使用-浅时光博客
  • 将下面的代码写到文章来源(Source):https://www.dqzboy.comJob中
#!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')
                    }
                }
            }
        }
    }
}
Jenkins高级用法-共享库使用-浅时光博客
  • 然后运行该Job并查看Job输出日志
Jenkins高级用法-共享库使用-浅时光博客
  • 直接将下面的片段,放在jenkinsfile文件的头部即可
Jenkins高级用法-共享库使用-浅时光博客
Jenkins高级用法-共享库使用-浅时光博客
0 条回应
    本站已安全运行: | 耗时 0.422 秒 | 查询 107 次 | 内存 19.10 MB