jenkins是非常方便的自动化构建攻击,在实际使用过程中还是遇到了很多的问题。
1、jsp-api 打包问题。
用mvn编译的时候需要依赖jsp-api,但是很多时候 jsp-api在tomcat等的lib下面存在,所以当打包成war文件的时候就重复了,这个时候经常会出问题
解决办法:在mvn的pom.xml里面设置
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
最后一个参数表示是参与编译,不打包。
2、在新版jenkins每次自动构建的时候,发现不是每次都更新svn仓库
解决办法:这个是设置问题,在Check-out Strategy,例如SVN, 选择EUse
svn update as much as possible, with 'svn revert' before update,表示每次进行update后进行打包。
3、自动部署到tomcat
这个需要插件支持,默认安装后是不包括这个插件的,插件的名字是Deploy
to container Plugin,在插件管理里面安装一下。
然后在job的构建后操作选择deploy war/ear to a container进行配置就可以了,唯一注意一点的是相对路径。
4、在自动部署到tomcat中,第一次是成功的,第二次就会把tomcat搞死,原因还不清楚,在tomcat中有日志,表示内存泄漏,日志如下:
严重: The web application [/mrc-web] registered the JDBC driver [net.sf.log4jdbc.DriverSpy] but failed to unregister
it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2013-2-20 15:06:35 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/mrc-web] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.
2013-2-20 15:06:36 org.apache.catalina.startup.HostConfig checkResources
信息: Undeploying context [/mrc-web]
2013-2-20 15:06:37 org.apache.catalina.startup.HostConfig deployWAR
信息: Deploying web application archive mrc-web.war
2013-2-20 15:34:08 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/mrc-web] registered the JDBC driver [net.sf.log4jdbc.DriverSpy] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2013-2-20 15:34:09 org.apache.catalina.startup.HostConfig checkResources
如果有人能解决顺便说一下啊,非常感谢。
最后问题没有找到解决办法,换了另一种方式,但是前提是部署tomcat的机器和jenkins在一台机器上
就是在编译后执行一段windos脚本
net stop tomcat7
rmdir/s/q D:\apache-tomcat-7.0.22\webapps\mrc-web
del mrc-web.war
copy C:\progra~1\Jenkins\workspace\mrc\target\mrc-web.war D:\apache-tomcat-7.0.22\webapps
net start tomcat7
就完成了部署。
4、"WARNING: clock of the subversion
server appears to be out of sync. This can result in inconsistent check out behavior."
这个在编译的时候有时候会有这个警告,主要是svn等服务器的时钟和本机的时钟有偏差,比如svn的时钟比较快,jenkins的时钟慢,当你提交svn的时候,紧接着进行jenkins构建,这个时候jenkins的svn update由于时钟原因就更新不到刚才的数据,但过了几分钟之后再进行更新的时候,超过两台机器的时间差,在次进行jenkins构建,就可以update到数据。
姐姐办法就很简单,两台机器的时间设置成一样就可以了。
分享到:
相关推荐
以下是2022年DevOps和CI/CD面试中可能会遇到的一些重要知识点: 1. **DevOps文化**: - DevOps的核心理念是消除开发与运维之间的壁垒,实现快速、可靠和频繁的软件发布。 - 团队间的协作、沟通和反馈是DevOps文化...
这本书可能会讨论版本控制系统(如Git)、自动化测试工具(如RSpec和Cucumber)、持续集成/持续部署(CI/CD)工具(如Jenkins或Travis CI)以及性能监控工具(如New Relic)的使用方法。 4. **最佳实践**:作者可能会...
10. **持续集成/持续部署(CI/CD)**:如Jenkins、Docker、Kubernetes等工具的使用,自动化构建和部署流程可以大大提高团队的开发效率。 11. **项目管理与敏捷开发**:Scrum、Kanban等敏捷开发方法论的介绍,以及如何...
【标题】"Java中常用的英语单词汇总共22页.pdf.zip" 提供的是关于Java编程语言中常见英文词汇的集合,这份文档可能是为了帮助Java开发者更好地理解和记忆在编程过程中经常遇到的专业术语。Java是一种广泛使用的面向...
- 持续集成(CI)和持续部署(CD)是现代化开发流程的重要组成部分,了解Jenkins、Azure DevOps等工具的使用。 12. **设计模式** - 设计模式是解决常见问题的最佳实践,如工厂模式、单例模式、装饰器模式等。 - ...
15. **持续集成/持续部署(CI/CD)**:理解Jenkins、Git等工具,实现自动化构建和部署,提高开发效率和代码质量。 通过阅读和实践“javaBook-master”中的内容,你可以系统性地学习和复习以上各个方面的Java知识,为...
此外,也可能涉及持续集成/持续部署(CI/CD)工具如Jenkins或Travis CI的配置和应用。 3. **最佳实践**:笔记可能包含了软件开发过程中的最佳实践,如代码规范、项目管理方法(如敏捷开发)、问题排查步骤,以及...
在部署过程中,你可能会遇到如权限设置、网络通信、依赖管理等问题,需要对Ruby和服务器管理有一定的了解才能顺利解决。 总之,Ruby-Kochiku是为了解决大型项目自动化测试的挑战而生的,它通过分布式执行和智能任务...
【标题】:“基于JAVA的医院门诊信息管理系统设计...部署可能涉及Tomcat、Jenkins等工具,以及负载均衡和集群配置。 以上是基于标题和描述推测出的可能涉及的知识点,具体实现细节需要查看a2.txt、a1.txt等文件内容。
- **持续集成/持续部署(CI/CD)**:可以与Jenkins、GitHub Actions等工具集成,自动化模型的构建和部署流程。 在完成这个课程后,你将具备使用DBT构建和管理数据管道的能力,这对于在现代数据驱动的组织中进行数据...
- **持续集成/持续部署(CI/CD)**:如GitHub Actions或Jenkins,用于自动化构建和部署过程。 总之,StandupBot是一个利用TypeScript技术实现的自动化工具,它简化了远程团队的站立会议流程,提高了沟通效率,同时...
8. **错误处理和故障排查**:编写健壮的Shell脚本,包含适当的错误检查和恢复机制,以及如何解决在运行JMeter测试时可能遇到的问题。 9. **持续集成/持续部署(CI/CD)**:如果jmetervmss是作为CI/CD流程的一部分,...
11. **持续集成/持续部署(CI/CD)**:如Jenkins,自动化构建和部署过程。 12. **RESTful API设计**:提供对外服务的接口,遵循HTTP协议。 13. **安全性**:如HTTPS、JWT,保证数据传输安全和用户认证。 14. **日志...
11. **持续集成/持续部署(CI/CD)**:可能采用Jenkins、Travis CI等工具实现自动化构建和部署,提高开发流程的效率。 12. **国际化与本地化**:考虑到全球化运营,系统可能支持多语言,通过资源文件管理翻译,以适应...