1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 实战Jenkins+SVN+tomcat持续集成发布

实战Jenkins+SVN+tomcat持续集成发布

时间:2023-05-22 13:08:43

相关推荐

实战Jenkins+SVN+tomcat持续集成发布

有代码更新后重新打包到tomcat再发布,是不是很烦?

看了下面的东西你就不会烦了。

SVN或者git等代码版本控制工具不说了,如果是本地开发,也可以安装一个svnserver端

jenkins下载后是一个war包,

首先设置下环境变量 JENKINS_HOME为 c:\jenkins

拷贝到一个tomcat的webapp目录下启动tomcat保证能正常访问

http://localhost:8880/jenkins/多个tomcat请注意修改端口

打开后第一次没任何项目,新建一个项目maven项目,怎么创建maven项目请参考我的博客其他文章

必填项:

项目名称:随意了,自己喜欢就好O(∩_∩)O哈哈~

下面填写自己的svncvs等信息,地址及用户名密码

往下:请勾选 Build whenever a SNAPSHOT dependency is built这个复选框

再往下就是配置构建成功后发布信息的,这个首先得安装一个插件

安装Deploy to container Plugin插件,安装成功后才能自动发布

安装好后重启下服务器最好

构建后操作,选择安装好插件后的deploywartocontainer,

输入target目录下生成的war包,

配置远程的tomcat,并保证可以登录到manage界面,配置的tomcat处于启动状态

注意:

tomcat默认是没有用户可以登录的需要修改conf下的user.xml

如下:

<?xmlversion='1.0'encoding='utf-8'?><tomcat-users><rolerolename="manager-gui"/><rolerolename="manager-script"/><rolerolename="manager-jmx"/><rolerolename="manager-status"/><userpassword="tomcat"roles="manager-gui,manager-script,manager-jmx,manager-status"username="tomcat"/></tomcat-users>

同时记得修改tomcat/conf/context.xml

<ContextantiResourceLocking="true">

修改这个主要是为了解决再次部署的时候,不能删除原项目部署目录,详情可参考/tomcat-7.0-doc/config/context.html搜索 lock

配置完成,点击应用保存

然后创建,失败是红色,具体信息看控制台,成功后的log大致如下:

StartedbyuseranonymousBuildinginworkspacec:\jenkins\workspace\demoUpdatinghttps://xiaochangwei/svn/demo1/Test001atrevision'-11-10T12:59:10.009+0800'Atrevision7nochangeforhttps://xiaochangwei/svn/demo1/Test001sincethepreviousbuildParsingPOMsEstablishedTCPsocketon51539[demo]$"C:\ProgramFiles\Java\jdk1.7.0_80/bin/java"-cpc:\jenkins\plugins\maven-plugin\WEB-INF\lib\maven32-agent-1.7.jar;C:\work\software\apache-maven-3.3.3\boot\plexus-classworlds-2.5.2.jar;C:\work\software\apache-maven-3.3.3/conf/loggingjenkins.maven3.agent.Maven32MainC:\work\software\apache-maven-3.3.3C:\apache-tomcat-7.0.64\webapps\jenkins\WEB-INF\lib\remoting-2.52.jarc:\jenkins\plugins\maven-plugin\WEB-INF\lib\maven32-interceptor-1.7.jarc:\jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.7.jar51539<===[JENKINSREMOTINGCAPACITY]===>channelstartedExecutingMaven:-B-fc:\jenkins\workspace\demo\pom.xmlinstall[INFO]Scanningforprojects...[INFO][INFO]------------------------------------------------------------------------[INFO]BuildingTest0010.0.1-SNAPSHOT[INFO]------------------------------------------------------------------------[INFO][INFO]---maven-resources-plugin:2.6:resources(default-resources)@Test001---[WARNING]Usingplatformencoding(GBKactually)tocopyfilteredresources,i.e.buildisplatformdependent![INFO]Copying0resource[INFO][INFO]---maven-compiler-plugin:3.1:compile(default-compile)@Test001---[INFO]Nothingtocompile-allclassesareuptodate[INFO][INFO]---maven-resources-plugin:2.6:testResources(default-testResources)@Test001---[WARNING]Usingplatformencoding(GBKactually)tocopyfilteredresources,i.e.buildisplatformdependent![INFO]Copying0resource[INFO][INFO]---maven-compiler-plugin:3.1:testCompile(default-testCompile)@Test001---[INFO]Nothingtocompile-allclassesareuptodate[INFO][INFO]---maven-surefire-plugin:2.12.4:test(default-test)@Test001---[JENKINS]Recordingtestresults[INFO][INFO]---maven-war-plugin:2.2:war(default-war)@Test001---[INFO]Packagingwebapp[INFO]Assemblingwebapp[Test001]in[c:\jenkins\workspace\demo\target\Test001-0.0.1-SNAPSHOT][INFO]Processingwarproject[INFO]Copyingwebappresources[c:\jenkins\workspace\demo\src\main\webapp][INFO]Webappassembledin[41msecs][INFO]Buildingwar:c:\jenkins\workspace\demo\target\Test001-0.0.1-SNAPSHOT.war[INFO]WEB-INF\web.xmlalreadyadded,skipping[INFO][INFO]---maven-install-plugin:2.4:install(default-install)@Test001---[INFO]Installingc:\jenkins\workspace\demo\target\Test001-0.0.1-SNAPSHOT.wartoc:\wis_mvn_repo\com\xiao\Test001\0.0.1-SNAPSHOT\Test001-0.0.1-SNAPSHOT.war[INFO]Installingc:\jenkins\workspace\demo\pom.xmltoc:\wis_mvn_repo\com\xiao\Test001\0.0.1-SNAPSHOT\Test001-0.0.1-SNAPSHOT.pom[INFO]------------------------------------------------------------------------[INFO]BUILDSUCCESS[INFO]------------------------------------------------------------------------[INFO]Totaltime:3.192s[INFO]Finishedat:-11-10T12:59:18+08:00[INFO]FinalMemory:17M/226M[INFO]------------------------------------------------------------------------[JENKINS]Archivingc:\jenkins\workspace\demo\pom.xmltocom.xiao/Test001/0.0.1-SNAPSHOT/Test001-0.0.1-SNAPSHOT.pom[JENKINS]Archivingc:\jenkins\workspace\demo\target\Test001-0.0.1-SNAPSHOT.wartocom.xiao/Test001/0.0.1-SNAPSHOT/Test001-0.0.1-SNAPSHOT.warchannelstopped[WARNING]Couldn'tcleanupoid=3fromnullhudson.remoting.ChannelClosedException:channelisalreadyclosedathudson.remoting.Channel.send(Channel.java:575)athudson.remoting.RemoteInvocationHandler$PhantomReferenceImpl.cleanup(RemoteInvocationHandler.java:360)athudson.remoting.RemoteInvocationHandler$PhantomReferenceImpl.access$700(RemoteInvocationHandler.java:319)athudson.remoting.RemoteInvocationHandler$Unexporter.run(RemoteInvocationHandler.java:420)atjava.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)atjava.util.concurrent.FutureTask.run(FutureTask.java:262)athudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110)atjava.lang.Thread.run(Thread.java:745)Causedby:java.io.IOExceptionathudson.remoting.Channel.close(Channel.java:1160)athudson.remoting.Channel.close(Channel.java:1135)athudson.remoting.Channel$CloseCommand.execute(Channel.java:1076)athudson.remoting.Channel$1.handle(Channel.java:498)athudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:60)Deployingc:\jenkins\workspace\demo\target\Test001-0.0.1-SNAPSHOT.wartocontainerTomcat7.xRemote[c:\jenkins\workspace\demo\target\Test001-0.0.1-SNAPSHOT.war]isnotdeployed.Doingafreshdeployment.Deploying[c:\jenkins\workspace\demo\target\Test001-0.0.1-SNAPSHOT.war]Finished:SUCCESS

打开tomcat管理页面都能看见发布的项目

同样打开这个项目也能正常访问

jdkmaven配置:

如果遇见编码问题

1.增加环境变量 JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

2.在kenkins中增加Environment variables LANG=zh.CH.UTF-8 和JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。