【Jenkins】构建错误处理方法整理

2024-08-26 00:58

本文主要是介绍【Jenkins】构建错误处理方法整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下错误处理的前提是本地代码测试成功后,并提交SVN服务器。


一、Jenkins构建步骤


         有依赖关联,先集成itoo-exam-student-core,再集成itoo-exam-student-web,也就是说先集成被依赖的一方的,再集成依赖的一方。


1、从SVN上当下最新代码


2、从Maven下载资源并编译


3、将编译测试好的内容放到jenkins的工作空间下


4、部署,并用部署好的文件替换nexus私服上的文件。


集成部署ear:


5、打包为ear从私服上下载itoo-exam-student-core.jar和itoo-exam-student-web.war,打包为itoo-exam-student-ear并编译放到jeckins工作空间下


6、将itoo-exam-student-ear部署到jboss服务器上。

二、错误处理


1、Jekins集成出现明显错误,比方说编译错误,类找不到之类的


解决:是否有被依赖的一方没有先集成, 如果是,则集成被依赖项,然后再集成依赖项。


2、部署好的文件不是最新代码
解决:
查看构建记录,是否取的是SVN的最新代码,如果不是,可能是jekins的服务器时间和SVN的服务器时间不同步导致的。


两种解决办法:
(1)设置两个服务器时间一致
(2)在模块构建配置中的源码管理修改Repository URL地址,在其后加入@Head,例如:svn://192.168.22.220/itoo_java/jiuqi/project/ITOO4.0/ITOO_TEAM/trunk/itoo-exam/itoo-exam-student-ear@Head,因为构建时,默认的是根据jekins当前服务器时间来去SVN服务器上下载它认为是最新的代码,如果SVN服务器提交代码的时间要比jekins当前服务器的时间晚的话,就取不到最新的代码。但是如果加上了head,它就是按最新版本来取的代码。

如果以上都确认过了之后,修改的界面在服务器上还是没有修改,那我们就进入jboss的部署目录下,查看itoo-exam-student-ear中新作修改的代码是否修改了。如果是web没有修改,则进入/usr/local/jboss6.2/standalone/tmp/work/jboss.web/default-host目录下删除编译的文件,让其重新编译。


3、jekins构建成功,并取得是最新代码,但是访问还是有问题的。


解决办法:
查看jboss服务器下的部署文件,是否成功部署。在服务器上查看/usr/local/jboss6.2/standalone/deployments目录下的itoo-exam-student-ear.ear是deployed还是failed

如果是failed,则将itoo-exam-student-ear删除,重新部署,这个过程中利用xshell的tail -f nohup.out命令来进行日志的监控,看是哪个地方报错了,我们修改本地代码并再次提交,构建部署即可。

如果还是不行,比较暴力的方法就是,重启服务器jboss,有时候有些问题就是重启一下就OK了,但它不能解决所有的问题。


以上就是对最近遇到的一些问题进行的整理,前面的步骤是分析的jekins的构建时的执行过程,可能有分析的不对的地方,望大家能够指出。


三、总结


最近遇到的构建错误和jboss部署错误比较多,整理了比较常见的一些问题解决办法,算是一点经验的积累吧。希望能够帮助大家!

这篇关于【Jenkins】构建错误处理方法整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107093

相关文章

Android 12解决push framework.jar无法开机的方法小结

《Android12解决pushframework.jar无法开机的方法小结》:本文主要介绍在Android12中解决pushframework.jar无法开机的方法,包括编译指令、框架层和s... 目录1. android 编译指令1.1 framework层的编译指令1.2 替换framework.ja

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法

《SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法》在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为,本文给大家介绍了详... 目录问题根源正确写法示例永久解决方案为什么命令行不受影响?最佳实践建议问题根源SQLyog的语句分

Java中的StringBuilder之如何高效构建字符串

《Java中的StringBuilder之如何高效构建字符串》本文将深入浅出地介绍StringBuilder的使用方法、性能优势以及相关字符串处理技术,结合代码示例帮助读者更好地理解和应用,希望对大家... 目录关键点什么是 StringBuilder?为什么需要 StringBuilder?如何使用 St

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依