DevOps / Jenkins

Jenkins高级用法-共享库使用

温馨提示:本文最后更新于2021-03-02 18:40:29,某些文章具有时效性,若有错误或已失效,请在下方留言或提交工单提交工单
浅时光 · 6月21日 · 2020年 · 本文970个字,预计阅读3分钟 82815次已读

一、共享库介绍

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

目录结构如下图所示:

二、共享库实践

1、创建共享库

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

2、编写方法文件

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

3、使用共享库

4、引用共享库

  • 编写jenkinsfile,然后在jenkinsfile中通过@Library('jenkinslib') _原文链接:https://www.dqzboy.com加载共享库
  • 新建一个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输出日志
原文链接:https://www.dqzboy.com
  • 直接将下面的片段,放在jenkinsfile文件的头部即可



本文作者:浅时光
原文链接:https://www.dqzboy.com/2859.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可
转载时请以超链接形式标明文章原始出处和作者信息

0 条回应

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