Jenkins初级使用过程中的异常处理
在使用Jenkins一些基本功能的时候,或者说是基本插件的时候,会遇到各种各样的报错。这里就设想模拟一下,重现一下以前遇到过的问题,记录一下。虽说是Jenkins使用过程中出现这样的问题,但实际上可以把这种思路应用在运维其他问题的排查逻辑上面。这种分享也符合我们的技术积累信条,欲成大事,比以史为鉴。
一、在使用插件Invoke Phing targets的时候
1、报错:
java.io.IOException: Cannot run program "phing" (in directory "/var/lib/jenkins/workspace/**"): error=2, No such file or directory

在使用Invoke Phing targets插件的过程中,就是要读取系统的xml文件,如果没有安装phing工具的话就读取失败,从而整个构建都会失败。在Debian系列的系统里面,这里是用Ubuntu 18.04就用apt在线安装phing。
命令:apt-get install phing
重新构建发现问题解决了。
2、报错:
/var/lib/jenkins/workspace/boztax/build.xml:104:75: buildnumber not defined!

这种问题就是在执行build.xml的过程中发现里面的配置不对的报错。错误提示中是变量buildnumber没有定义,印象中是控制台定义,然后build.xml调用。我们先回到控制台,

我们看到问题了,是控制到定义buildnumber的时候放错了位置,导致没有生效,然后build.xml调用的时候就报错了。改正的时候就解决。
二、使用publish over ssh的时候的错误
添加构建步骤。'Send files or execute commands over SSH',我们就可以连着打包和发送这两个步骤一起来使用。
我们打包好文件,按照逻辑就应该发送过去,之后再解压。可是,构建失败了,我们看看失败的控制台输出,

绿色的表示构建步骤已经通过,红色的部分表示开始报错,是我们重点分析的部分。
绿色部分也有好几个报错,但是都是定义文件中的定义。比如说,删除dist文件夹,那是因为在我们生成的文件中标避免冲突,如果没有这个文件,那就应该这样,没有找到可删除的文件。绿色最后一行也是表明文件已经打包。
红色部分就是在远程服务器上面说找不到文件,那很有可能就是本地生成了,而没有传过去。下面验证一下,
先去本地看看有没有文件,

已经查证生成了打包文件,前面我们配置了ssh key到远程服务器,现在再次验证一下文件到底能不能传过去,

证明私钥可用,看看控制台验证,

控制台测试成功!
既然没有在传输的时候报错,下一个猜想就是可能传过去了,但是控制台的目录设置错乱,不知道传去远程服务器哪个位置了。(实际上经过了半天的思索才觉得有这种可能)

怎么在目录前缀就有/root呢?后面的目录就正确。。控制台设置的明明就是/home/data啊。

但是,在考虑的同时,想起/root在哪里出现过,没错,

就是这里,在系统全局配置的时候。关于ssh的远程根目录有设置,东西放错位置了,所以tar解压的时候找不到文件。改回来的话,一切迎刃而解。
以上就是Jenkins初级使用过程中的异常处理的详细内容,更多关于Jenkins初级使用过程中的异常处理的资料请关注脚本之家其它相关文章!
相关文章
spring 整合mybatis后用不上session缓存的原因分析
因为一直用spring整合了mybatis,所以很少用到mybatis的session缓存。什么原因呢?下面小编给大家介绍spring 整合mybatis后用不上session缓存的原因分析,需要的朋友可以参考下2017-02-02
Elasticsearch QueryBuilder简单查询实现解析
这篇文章主要介绍了Elasticsearch QueryBuilder简单查询实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-08-08
Service层异常抛到Controller层处理还是直接处理问题分析
这篇文章主要为大家介绍了Service层异常抛到Controller层处理还是直接处理的问题分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-09-09


最新评论