Jenkins的安装与配置,请参考文章《Jenkins安装+配置+任务创建》
Jenkins构建成功之后,可以在/usr/local/JenkinsHome/workspace中看到
在系统管理-插件管理-已安装插件中,查看publish over ssh是否安装
hostname设置
192.168.0.239 为SVN、Nexus、Jenkins所在虚拟机
192.168.0.240 为模拟测试环境虚拟机
192.168.0.241 为模拟生产环境虚拟机
分别修改240、241机器的hostname,下图仅使用hostname指令修改主机名,重启后失效
240 192.168.0.240-test
241 192.168.0.241-product
此外,还需要如下设置
vi /etc/sysconfig/network
vi /etc/hosts
重启后,查看hostname
在192.168.0.239所在机器进行如下配置
vi /etc/hosts
/etc/hosts类似于DNS,即ip地址与hostname的对应关系。Linux系统在向DNS服务器发出域名解析请求之前,先查询/etc/hosts文件,查看是否存在相关记录。
系统管理-系统设置-ssh remote hosts
设置登录240、241Linux虚拟机的用户名和密码
添加证书
填写用户名、密码及相关信息
设置完成后的credential
系统管理-系统设置-ssh remote hosts
添加测试环境host
添加生产环境host
配置Publish over SSH,添加SSH Server: 192.168.0.240-test、192.168.0.241-product
Linux虚拟机配置2个Tomcat
每一个tomcat配置指向自己的环境变量,否则2个Tomcat不能同时成功启动
修改环境变量
vi /etc/profile
添加如下内容
# first tomcat
CATALINA_BASE=/usr/local/test-tomcat-01
CATALINA_HOME=/usr/local/test-tomcat-01
TOMCAT_HOME=/usr/local/test-tomcat-01
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
# second tomcat
CATALINA_2_BASE=/usr/local/test-tomcat-02
CATALINA_2_HOME=/usr/local/test-tomcat-02
TOMCAT_2_HOME=/usr/local/test-tomcat-02
export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME
执行指令source /etc/profile ,使上述环境变量配置立即生效
第一个Tomcat即test-tomcat-01不做改动,只对第二个Tomcat即test-tomcat-02的catalina.sh、server.xml进行修改
vi catalina.sh
添加如下内容
export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME
vi server.sh
redirectPort="8443" /> 8080修改为8090
此时,分别启动test-tomcat-01、test-tomcat-02
上传项目HBKeNong、HBKeNongPicture至192.168.0.239的SVN
在192.168.0.239虚拟机中,查看svn-tomcat已启动
登录SVN的管控台http://192.168.0.239:9090/svnadmin/ SVN管控台的安装与使用可参考《Linux中apache http server+svn+svnadmin整合》
下面需要添加2个项目HBKeNong、HBKeNongPicture
添加用户组
给developer用户组分配了用户admin,此时admin就拥有了对HBKeNong的读写操作权限
因为192.168.0.239虚拟机上使用的是Apache和SVN整合,在使用svnadmin对资源进行管理的时候,用户的group和user均需要为apache
vi /etc/httpd/conf/httpd.conf
然而新建的HBKeNong所属的用户组和用户均为root,需要做如下设置
chown -R apache.apache HBKeNong
chmod -R 777 HBKeNong
选中待导入的项目HBKeNong--右键Tortoise SVN -- Import
在SVN admin中查看刚上传的项目
HBKeNongPicture的操作同理。
下载SmartSVN,检出项目并导入到Eclipse中
在Jenkins中新建任务并执行构建
对HBKeNong执行构建操作
查看构建过程的控制台输出
同理,HBKeNongPicture项目也构建成功了
将Jenkins构建的war包发布到模拟测试环境
模拟测试环境在192.168.0.240Linux虚拟机上,在/usr/local下面有test-tomcat-01、test-tomcat-02分别用来部署HBKeNong、HBKeNongPicture
在192.168.0.240 测试环境虚拟机中/usr/local目录下,新建目录test_env_update_war用于存放最新的待部署的war包,新建目录test_env_script用于存放项目部署的脚本,新建目录test_war_backup用于存放war包的备份。
赋予test_HBKeNong_deploy.sh脚本执行权限
chmod 777 test_HBKeNong_deploy.sh
#!/bin/bash
DATE=`date +%F-%H-%M`
PROJECT='HBKeNong-1.0-SNAPSHOT'
PROJECT_TARGET='HBKeNong'
ROOTDIR='/usr/local'
TOMCAT_HOME='/usr/local/test-tomcat-01'
#停止tomcat服务
echo '停止test-tomcat-01'
sh ${TOMCAT_HOME}/bin/shutdown.sh
ps -ef | grep ${TOMCAT_HOME}/ | grep -v grep| awk '{print $2}' | xargs kill -9
cp ${ROOTDIR}/test_env_update_war/${PROJECT}.war ${ROOTDIR}/test_war_backup/test-${PROJECT}-${DATE}.war
rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war
rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}
mv ${ROOTDIR}/test_env_update_war/${PROJECT}.war ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war
#启动tomcat服务
echo '启动test-tomcat-01'
sh ${TOMCAT_HOME}/bin/startup.sh
对HBKeNong进行构建
访问http://192.168.0.240:8090/HBKeNongPicture/ ,测试可以正常访问
HBKeNongPicture同理
在test-tomcat-02中的catalina.sh中添加如下内容
export JAVA_HOME=/usr/local/localsoftware/jdk1.8.0_121
export JRE_HOME=/usr/local/localsoftware/jdk1.8.0_121/jre
执行构建
访问http://192.168.0.240:8090/HBKeNongPicture/
Tomcat设置开机自启动
192.168.0.240 为模式测试环境,该虚拟机上存在test-tomcat-01、test-tomcat-02
在192.168.0.240 执行指令 vi /etc/rc.d/rc.local,添加如下2行内容
sh /usr/local/test-tomcat-01/bin/startup.sh
sh /usr/local/test-tomcat-02/bin/startup.sh
重启后,查看是否tomcat已启动