jekins集成maven发布项目过程中碰到的坑
jekins集成maven发布项目过程中遇到的坑
背景:
用maven构建项目之后,每次需要部署集成测试环境,用户体验环境都需要停掉现在的工作,更改pom.xml中的环境配置,打包部署,打断了正在开发的思路不说,还有可能把更改的pom.xml不小心提交到SVN上面,jenkins可以持续部署,值得一试,下面就会记录我在安装的过程中遇到的问题。
1.jenkins安装
https://jenkins.io/index.html
jenkins官网下载最新的war包,使用java -jar jenkins.war启动服务
问题来了,我在windows下面启动的时候提示我mail插件环境太老,就算不管这个错误,进入jenkins主界面之后,右上角会有错误的提示,按照提示安装相应的jenkins插件
安装插件的位置jenkins->系统管理->管理插件->高级,这个页面下面有一个上传插件的地方,在https://plugins.jenkins.io/下载需要安装的插件上传并且重启jenkins就可以了。
2.新建项目
如果我需要新建一个maven项目,但是并没有找到相关的选项,这是由于没有maven插件的原因
Maven Integration plugin
在配置svn时无法找到相关的svn选项,需要安装Subversion Plug-in
构建命令
clean yuicompressor:compress -P test install tomcat7:deploy -Dmaven.test.skip=true
这个命令也可以把war包发布到tomcat8,为什么?因为我试过!
3.发布到服务器
构建后的操作如果没有发布到tomcat的选项是缺少插件的原因
deploy to container plugin
在发布之前需要配置tomcat的用户并且打开管理台,配置的用户格式如下
<role rolename="admin"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<user username="username" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
发布的时候war files填写target/App.war,Context Path如果填空的话会生成ROOT.war文件
4.发布经常出现内存溢出的现象,需要调整tomcat的启动参数
修改catalina.sh,找到echo "Using CATALINA_BASE: $CATALINA_BASE"在这一行下面添加
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=256m"
调大相关的参数,这样就可以正常发布了
在pom.xml中配置远程发布的配置如下
<!-- 远程部署tomcat -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>${package.deployUrl}</url>
<server>TomcatServer</server>
<path>/</path>
<username>username</username>
<password>password</password>
<update>true</update>
</configuration>
</plugin>
deployUrl和管理台界面不一致(以text后缀结尾)
http://localhost:8080/manager/text
如果在运行过程中提示找不到的话,可以在maven配置文件中配置
<pluginGroups>
<!-- pluginGroup
| Specifies a further group identifier to use for plugin lookup.
<pluginGroup>com.your.plugins</pluginGroup>
-->
<pluginGroup>org.apache.tomcat.maven</pluginGroup>
</pluginGroups>
背景:
用maven构建项目之后,每次需要部署集成测试环境,用户体验环境都需要停掉现在的工作,更改pom.xml中的环境配置,打包部署,打断了正在开发的思路不说,还有可能把更改的pom.xml不小心提交到SVN上面,jenkins可以持续部署,值得一试,下面就会记录我在安装的过程中遇到的问题。
1.jenkins安装
https://jenkins.io/index.html
jenkins官网下载最新的war包,使用java -jar jenkins.war启动服务
问题来了,我在windows下面启动的时候提示我mail插件环境太老,就算不管这个错误,进入jenkins主界面之后,右上角会有错误的提示,按照提示安装相应的jenkins插件
安装插件的位置jenkins->系统管理->管理插件->高级,这个页面下面有一个上传插件的地方,在https://plugins.jenkins.io/下载需要安装的插件上传并且重启jenkins就可以了。
2.新建项目
如果我需要新建一个maven项目,但是并没有找到相关的选项,这是由于没有maven插件的原因
Maven Integration plugin
在配置svn时无法找到相关的svn选项,需要安装Subversion Plug-in
构建命令
clean yuicompressor:compress -P test install tomcat7:deploy -Dmaven.test.skip=true
这个命令也可以把war包发布到tomcat8,为什么?因为我试过!
3.发布到服务器
构建后的操作如果没有发布到tomcat的选项是缺少插件的原因
deploy to container plugin
在发布之前需要配置tomcat的用户并且打开管理台,配置的用户格式如下
<role rolename="admin"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<user username="username" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
发布的时候war files填写target/App.war,Context Path如果填空的话会生成ROOT.war文件
4.发布经常出现内存溢出的现象,需要调整tomcat的启动参数
修改catalina.sh,找到echo "Using CATALINA_BASE: $CATALINA_BASE"在这一行下面添加
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=256m"
调大相关的参数,这样就可以正常发布了
在pom.xml中配置远程发布的配置如下
<!-- 远程部署tomcat -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>${package.deployUrl}</url>
<server>TomcatServer</server>
<path>/</path>
<username>username</username>
<password>password</password>
<update>true</update>
</configuration>
</plugin>
deployUrl和管理台界面不一致(以text后缀结尾)
http://localhost:8080/manager/text
如果在运行过程中提示找不到的话,可以在maven配置文件中配置
<pluginGroups>
<!-- pluginGroup
| Specifies a further group identifier to use for plugin lookup.
<pluginGroup>com.your.plugins</pluginGroup>
-->
<pluginGroup>org.apache.tomcat.maven</pluginGroup>
</pluginGroups>