部署jenkins是遇到的问题汇总。

部署jenkins是遇到的问题汇总。

分类: java 4093人阅读 评论(0) 收藏 举报

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到数据。

姐姐办法就很简单,两台机器的时间设置成一样就可以了。


5、mvn环境问题,这个不知道什么原因,部署好后会在c盘的跟目录下生成.m2文件夹, 里面也有仓库的目录。

这里面有个地方要注意,当有私有mvn仓库的时候,需要在里面配置settings.xml文件,不然会报错。

这个.m2和本机mavne的仓库不是一个,本机的一般放在系统用户下面的。


6、编译在windows下编译c++ vs2008工程,其他类似

要下载msbuild插件,配置如下:

部署jenkins是遇到的问题汇总。_第1张图片

然后构件一个自由风格的软件项目的job

在添加构建步骤里面可以选择Build a Visual Studio project or solution using MSBuild

MSBuild Build File中填写需要编译的工程可以是sln

在Command Line Arguments填写参数,当sln中有多个项目的时候可以选择需要构建的项目。 /t:Agent:Rebuild就可以了。

你可能感兴趣的:(java)