如何使用日志插件配置 jenkins 管道?



用例:我想将 jenkins 作业控制台日志发送到 elasticsearch,从那里发送到 kibana,以便我可以可视化数据。

我正在使用日志插件来实现这一点。对于自由式作业logstash插件配置工作正常,但对于jenkins管道作业,我正在获取所有必需的数据,例如内部版本号,作业名称,构建持续时间等等,但它没有显示构建结果,即成功或失败它没有显示。

我尝试了两种方式: 1.

stage('send to ES') {
logstashSend failBuild: true, maxLines: -1
}

阿拉伯数字。

timestamps {
logstash {
node() {
sh'''
echo 'Hello, World!'
'''
try {
stage('GitSCM')
{
git url: 'github repo.git'
}
stage('Initialize')
{
jdk = tool name: 'jdk'
env.JAVA_HOME = "${jdk}"
echo "jdk installation path is: ${jdk}"
sh "${jdk}/bin/java -version"
sh '$JAVA_HOME/bin/java -version'
def mvnHome = tool 'mvn'
}
stage('Build Stage')
{
def mvnHome = tool 'mvn'
sh "${mvnHome}/bin/mvn -B verify"
}
currentBuild.result = 'SUCCESS'
} catch (Exception err) {
currentBuild.result = 'FAILURE'
}    
}
}
}

但是在这两种方式中,我都没有得到构建结果,即我的弹性搜索或 kibana 的成功或失败。 有人可以帮忙吗?

我没有找到明确的方法来做到这一点,我的解决方案是在 Jenkinsfile 的末尾添加这些行:

echo "Current result: ${currentBuild.currentResult}" 
logstashSend failBuild: true, maxLines: 3

就我而言,我不需要它来发送所有控制台日志,只需要一个包含每个作业结果的日志。

最新更新