Jenkins初级使用过程中的异常处理(1)

在使用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解压的时候找不到文件。改回来的话,一切迎刃而解。

 

posted @   一夕如环  阅读(1518)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
点击右上角即可分享
微信分享提示