首页 > 技术文章 > Jenkins 子业务日志拆分分析方法

lightsong 2018-08-02 06:37 原文

需求

Jenkins日志打印内容很长,或者并发编译导致,日志内容不容易查看。

对于具体业务失败, 开发者希望看到具体业务自身的日志内容。

 

解法

tee 命令能够保证, shell命令执行的内容,即往控制台输出,又往文件输出,满足了第一个要求,业务日志单独输出。

https://blog.csdn.net/liu_zhen_wei/article/details/18010709

echo "ABCD" | tee temp.txt temp02.txt

将输出内容"ABCD"同时重定向到 temp.txt 和 temp02.txt 并且在终端打印输出

 

echo "ABCD" | tee -a temp.txt

将输出内容"ABCD"重定向追加到 temp.txt同时在终端打印输出

 

archiveArtifacts 指令

https://jenkins.io/doc/pipeline/tour/tests-and-artifacts/

 

When there are test failures, it is often useful to grab built artifacts from Jenkins for local analysis and investigation. This is made practical by Jenkins’s built-in support for storing "artifacts", files generated during the execution of the Pipeline.

This is easily done with the archiveArtifacts step and a file-globbing expression, as is demonstrated in the example below:

此指令可以将关注的文件,打包保存在Jenkins系统上,跟具体的构建关联起来。

Jenkinsfile (Scripted Pipeline)

node {
    try {
        stage('Test') {
            sh './gradlew check'
        }
    } finally {
        archiveArtifacts artifacts: 'build/libs/**/*.jar', fingerprint: true
        junit 'build/reports/**/*.xml'
    }
}

 

推荐阅读