https://my.oschina.net/denglz/blog/524154
摘要: jenkins + maven + svn + tomcat 自动部署
jenkins 是做什么用的,如果不知道请自行google
通俗的说 jenkins 可以帮助我们编译发布代码,比如我们提交到SVN后,要发布运行,就可以用过jenkins进行编译运行
环境(这里主要标注下我的环境):
1: SVN服务器 项目检出地址 https://192.168.1.22/svn/trunk/crm(centos)
2: maven 私服http://192.168.1.23:8080(cnetos)
3: tomcat web serverhttp://192.168.1.24:10086 (centos) #这个tomcat我使用的不是8080因为这个端口要让jenkins来使用.当然这些不是固定的!!
注: 因为我这边是测试环境,就吧jemkins放到了tomcat web server 上.
正式部署jenkins
A:登录192.168.1.24部署jenkins #我使用的帐号是root,你可以用其它的.
这台机器安装了tomcat7 和 JDK8, 主要用到了下面两个环境变量.
export JAVA_HOME=/usr/local/jdk8 #环境变量
export CATALINA_HOME=/usr/local/tomcat7
mkdir -p /usr/local/jenkins #用来存放下载的jenkins
下载地址:http://mirrors.jenkins-ci.org/war/在这里选择安装版本
wget http://mirrors.jenkins-ci.org/war/1.588/jenkins.war
#我这里下载的版本是 1.588 是14年11月更新的. 我安装最新的版本的时候没能正确安装部署war到tomcat server的插件...能力问题..
执行命令 java -jar jenkins.war #如果报类似下面的警告执行这个命令 java -Dhudson.DNSMultiCast.disabled=true -jar jenkins.war
十一月 19, 2014 4:13:12下午javax.jmdns.impl.DNSIncomingreadAnswer警告:TherewasanOPTanswer.Notcurrentlyhandled.Optioncode: 65002data: 6DE368DADD8543B8
一般情况到此安装结束. 访问http:192.168.1.24:8080 就能出现jenkins界面 #jenkins默认使用8080 更改端口需要在执行命令的时候添加参数.
注: 执行 java -jar jenkins.war 命令以后 在当期用户的家目录会生成一个.jenkins目录, 以后创建的项目,编译生成的war文件都在里面. 如果刚部署好里面应该没有这么多文件.
B: 项目的添加 #这个项目的流程 从svn检测代码---> 编译----->发布到tomcat webapps目录.
1:点击 左上角的"新建" 出现下面的界面
注:为例方便我们的java开发人员我们搭建了一个maven私服 , 在crm项目的pom文件里配置了maven私服的地址,在jenkins编译java代码的时候遇到需要jar包回到我们的maven私服去下载.
2:配置crm项目里面的各项内容
a:配置subversion 如图
选择Subversion 配置 Repository URL 配置你svn里面的项目,然后会提示你配置检出项目的用户与密码. 其选项默认
b:点击 "增加构建后操作步骤" 选择 "Deploy war/ear to a contalner" 这个选项是安装插件以后才有的. 安装"Deploy Plugin"插件.
注: 插件下载地址:http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/plugins/deploy/1.10/deploy.hpi下载插件以后通过 系统管理-->管理插件-->高级 上传插件 然后重启jenkins( 下载地址时间长了也许会失效)
c:配置有关编译好的war目录与tomcat的相关配置
WAR/EAR files 这个里面配置的是:相对于jenkins的workspace目录的相对路径. 我的全路径是/root/.jenkins/workspace/crm/crm.adminWeb/target/crm.adminWeb.war
context path / #/ 代表的是会把crm.adminWeb.war 换成ROOT.war放到 tomcat的webapps目录.
tomcat的信息主要是用户名和密码(来自tomcat-users.xml) 还有tomcat访问的地址http://192.168.1.24:10086
到此 jenkins 部署 自动检出发布java代码完成... 到主界面点击带有绿色箭头的图标进行 检出-->编译--->发布 如下图 #点一下就好了...反映会有一点迟钝.
补充:
enkins默认会存放在用户主目录下的.jenkins文件夹中 #这个感觉很不爽..因为jenkins目录以后会边的很大.....
如:Linux root用户:/root/.jenkins
注意:这是linux版本的。windows系统请自行更改。这个值在Jenkins运行时是不能更改的. 请先将Jenkins停止运行。
如果查看当前Jenkins目录:系统管理→系统设置→主目录→/root/.jenkins(注意:用户不同,路径也不同)
首先移动用户家目录下的隐藏jenkins目录移动到到指定的目录下面 /storage
mv /home/.jenkins /storage/jenkins
Jenkins储存所有的数据文件在这个目录下. 你可以通过以下两种方式更改:
使用你Web容器的管理工具设置JENKINS_HOME环境参数.
打开tomcat的bin目录,编辑catalina.sh文件。在# OS specific support. $var_must_ besetto eithertrueorfalse.上面添加:exportJENKINS_HOME="/storage/jenkins"#你可以指定别的目录在引号中填入你的路径。
在启动Web容器之前设置JENKINS_HOME环境变量.
用root用户登录编辑profile文件:vi/etc/profile在最后加入:export JENKINS_HOME=/storage/jenkins #你可以指定别的目录保存,退出后执行:source/etc/profile让配置生效
最后重启jenkins服务就OK了!!
/usr/bin/java -Dhudson.DNSMultiCast.disabled=true -jar /usr/local/jenkins/jenkins.war&