需求
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'
}
}