通常情况下,修改代码,打包,上传,发布,这么个顺序发布程序。
有了Jenkins这些重复性的操作可以统统交给程序自动处理。甚至可以指定发布的时机,例如提交一次svn就自动发布,每天定时发布等。
1:安装Jenkins
wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
2:把包放在tomcat下的webapps下面,(当然webapps路径可以修改为自己的部署路径)
3:ip:8080/jenkins
查看初始密码:cat /root/.jenkins/secrets/initialAdminPassword
1、下载maven
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
2、解压至/usr/local目录
tar -zxvf apache-maven-3.2.5-bin.tar.gz
3、配置国内的源
/usr/local/apache-maven-3.2.5/conf/settings.xml 中
在mirrors中添加以下内容
4、配置环境变量etc/profile 最后添加以下两行
- export MAVEN_HOME=/usr/local/apache-maven-3.2.5
- export PATH=${PATH}:${MAVEN_HOME}/bin
- source /etc/profile
5:测试 mvn -v
接下来要配置svn的link把两者联系起来。
1:首先需要添加一个tomcat的user,并赋予相应的管理员role
进入/usr/local/tomcat/conf
vi tomcat-users.xml 添加以下内容:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
2:针对tomcat8.5 有个挺坑的地方,还需要改一个文件,才能让http://IP:8080/manager/html 可以访问,
进入/usr/local/tomcat/webapps/manager/META-INF
vi context.xml 把这一段给注释掉
<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
3:修改Jenkins的配置
进入全局工具配置,添加maven的路径
再选择管理插件,安装一个叫做“Deploy to container Plugin”的插件
4:回到工程中,选择“配置”
填好项目名称和描述,使用自定义工作空间。
将svn的地址和用户名密码配置好,这样jenkins才能从svn 获取到源码
配置maven
增加构建后操作,选择 “Deploy war/ear to a container”,这里要填一对用户名和密码,就是tomcat-users.xml里配置的那个user,tomcat/tomcat
注意:如果是发布到tomcat的webapps下,context path啥也不要填,否则jenkins无法将打好的war包copy到tomcat目录下。
5:点“立即构建”,搞定。