jenkins打包镜像对打包失败问题的状态校验

失败主要是有两种

1、yarn或者npm打包失败

这种情况return code不会改变,仍然会返回0,但是日志里会报error,所以可以通过解析日志里是否有error字段来判断。

一种方法是直接读log文件,如下

error_string=`sudo cat /root/jenkins/jobs/${JOB_NAME}/builds/${BUILD_NUMBER}/log | grep error`

if [ -n "$error_string" ]
then
to do the error step
else
to do the right step
fi

另一种方法是通过jenkins api的方法来获取日志,在进行解析

 

还有一种是通过python jenkins包的方式来获取日志,在进行解析

参考https://www.cnblogs.com/kaerxifa/p/13620812.html

import jenkins,requests

#定义远程的jenkins master server 的url以及Port
jenkins_server_url = 'http://10.2.1.92:8080/jenkins/'
#定义用户的userid 和 apitoken(在jenkins中生成)
user_id = 'admin'
api_token = '11d8c79994b1e6d554c857b1d96fcf4dfe' #测试服务器

server = jenkins.Jenkins(jenkins_server_url,username=user_id,password=api_token)
jobName1='autotest'

joblog=server.get_build_console_output(jobName1,139)
print(joblog)

2、dockerfile构建镜像失败

这种失败会改成return code

常用解决方法是

if [ $? -eq 0 ]
then
to do the right step
else
to do the error step
fi

posted on 2021-02-07 19:41  该用户很懒  阅读(516)  评论(0编辑  收藏  举报