首页 > 其他分享 >jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出

jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出

时间:2023-02-11 17:48:18浏览次数:54  
标签:格式化 script 代码 timeout jenkins 日志 tools stage

一、添加AnsiColor插件

二、查看插件语法

1.打开任意pipline项目配置,找到流水线语法,并点击

跳转连接,选择插件,查看帮助

三、修改sharelibrary脚本,优化打印方法

package  org.devops


//格式化输出
def PrintMes(value,color){
    colors = ['red'   : "\033[40;31m >>>>>>>>>>>${value}<<<<<<<<<<< \033[0m",
              'blue'  : "\033[47;34m ${value} \033[0m",
              'green' : ">>>>>>>>>>${value}>>>>>>>>>>",
              'green1' : "\033[40;32m >>>>>>>>>>>${value}<<<<<<<<<<< \033[0m" ]
    ansiColor('xterm') {
        println(colors[color])
    }
}
tools.groovy

四、修改jenkins file

#!groovy

@Library('jenkinslib') _

def tools = new org.devops.tools()



//Pipeline
pipeline {
    agent  any

    options {
        timestamps()  //日志会有时间
        skipDefaultCheckout()  //删除隐式checkout scm语句
        disableConcurrentBuilds() //禁止并行
        timeout(time: 1, unit: 'HOURS')  //流水线超时设置1h
    }

    stages {
        //下载代码
        stage("GetCode"){ //阶段名称
            steps{  //步骤
                timeout(time:5, unit:"MINUTES"){   //步骤超时时间
                    script{ //填写运行代码
                        println('获取代码')
                        tools.PrintMes("获取代码",'green')
                    }
                }
            }
        }

        stage("01"){
            failFast true
            parallel {
        
                //构建
                stage("Build"){
                    steps{
                        timeout(time:20, unit:"MINUTES"){
                            script{
                                println('应用打包')
                                tools.PrintMes("应用打包",'green')
                            }
                        }
                    }
                }
        
                //代码扫描
                stage("CodeScan"){
                    steps{
                        timeout(time:30, unit:"MINUTES"){
                            script{
                                print("代码扫描")
                                tools.PrintMes("代码扫描",'green')
                            }
                        }
                    }
                }
            }
        }
    }

    //构建后操作
    post {
        always {
            script{
                println("always")
            }
        }

        success {
            script{
                currentBuild.description = "\n 构建成功!" 
            }
        }

        failure {
            script{
                currentBuild.description = "\n 构建失败!" 
            }
        }

        aborted {
            script{
                currentBuild.description = "\n 构建取消!" 
            }
        }
    }
}
jenkinsfile

五、运行流水线查看效果

  

 

标签:格式化,script,代码,timeout,jenkins,日志,tools,stage
From: https://www.cnblogs.com/panwenbin-logs/p/17112194.html

相关文章

  • zlog日志框架
    测试结束可以通过OPEN_LOG,LOG_LEVEL设置什么等级的日志可以输出和是否输出加入等级区分加入行号,程序名打印加入日志存储......
  • 前端知识学习案例20vs code-格式化文档
    shift+alt+f......
  • python将print的打印内容保存到日志
    将python程序中的所有打印内容都输出到日志文件中,在程序执行完成后,方便查询程序运行过程是否出现异常。1.将打印内容输出到日志文件1.1代码实现:sys.stdout= op......
  • 关于corosync的日志说明及配置
    本文使用的corosync的版本如下:corosync-3.1.5-2.el8.x86_64操作系统版本:RedHatEnterpriseLinuxrelease8.1(Ootpa)对于pacemaker高可用集群中,corosync是非常重要的......
  • 2023年第6周训练日志
    P4155国旗计划这道题的关键可能是这句话每名边防战士的奔袭区间都不会被其他边防战士的奔袭区间所包含。得知每个区间向右达到的最远距离是递增的具体实现是环->链,......
  • 修复 KubeSphere 内置 Jenkins 的 Apache Log4j2 漏洞
    作者:老Z,中电信数智科技有限公司山东分公司运维架构师,云原生爱好者,目前专注于云原生运维,云原生领域技术栈涉及Kubernetes、KubeSphere、DevOps、OpenStack、Ansible等。简......
  • 记录一次svn提交限制提交日志 中文冲突
    首选通过搜索找到了pre-commit这个脚本直接上手修改,最终结果如下需要的可以看一下#!/bin/bashexportLANG=zh_CN.UTF-8REPOS="$1"TXN="$2"SVNLOOK=/var/packages/......
  • 修复 KubeSphere 内置 Jenkins 的 Apache Log4j2 漏洞
    作者:老Z,中电信数智科技有限公司山东分公司运维架构师,云原生爱好者,目前专注于云原生运维,云原生领域技术栈涉及Kubernetes、KubeSphere、DevOps、OpenStack、Ansible等。......
  • jenkins pipline(script)
    二、脚本式Script特点:1.最外层有node{}包裹2.可直接使用groovy语句如何创建最基本的PIpeline直接在JenkinsWebUI网页界面中输入脚本通过创建一个jenkinsfile可以检入项目......
  • SCUM日志分析工具
    当前支持功能撬锁日志分析下载地址https://wwpc.lanzouf.com/inUpr0n0t9gd使用说明使用FTP工具,将服务器日志下载到本地在工具所在的文件夹内,新建一个“logs”文......