一:安装配置Subversion+ToriesSVN
1.下载安装Subversion作为版本控制服务器
2.下载安装toriessvn代码管理客户端工具
3.在任意盘创建空白文件夹SVNRepository,点击右键,选择ToriesSVN,选择Create repository here
4.进入该文件夹,在passwd文件中添加用户名、密码
5.为了使用Subversion需要先启动Subversion服务,方法如下,cmd中执行如下命令
sc create SVNService binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r D:\SVNRepository" displayname= "SVNService" depend= Tcpip start= auto 如果添加成功,在service中能看到SVNService的服务 再执行 net start Subversion,则启动服务成功 6.现在就可以通过Subversion和ToriesSVN管理代码了,代码是用Intelijje完成,Intelijje中添加Gradle插件作为部署工具 二:本地安装tomcat,下载Jenkins的jar包,放到tomcat的webapps下,启动tomcat,进入http://localhost:8080/jenkins/ 就可访问Jenkins了 三:安装虚拟机,虚拟机上面安装Linux作为web程序服务器,Linux上安装Tomcat作为web容器,Jenkin相关配置如下 进入该页面 http://localhost:8080/jenkins/configure,配置SSH Remote Host 注意:不要用root作为用户名,需要在Linux上新创建一个用户名,否则无法链接成功
四:创建Job,配置Job,编写deploy脚本配置到Jekins中
1.配置Job的SVN地址
2.配置deploy脚本,实现自动部署
3. deploy脚本思路: 杀tomcat进程——备份老的war包——拷贝新的War包到webapps目录——重新启动tomcat
备注:通过ftp实现将本地的war到放入Linux服务器上,脚本如下
#解决console输入乱码
export LANG="en_US.UTF-8"
#build后的war包
WARFILE_PATH=Users/Crown/.jenkins/jobs/Test002/workspace/WAP/build/libs/
WARFILE_NAME=MyTest001.war
#虚拟机上的tomcat路径
REMOTE_PATH=/opt/tomcat7/webapps
#备份年月日
BAK_DT=`date +%Y%m%d%H%M%S`
#FTP_IP
FTP_IP=192.168.199.108
#FTP_PORT
FTP_PORT=21
#FTP_USER
FTP_USER=qiaotl
#FTP_PWD
FTP_PWD=qiaotl
#1.杀当前应用进程
tomcat_pids=`ps -ef|grep tomcat |awk '{print $2}'`
for tomcat_pid in ${tomcat_pids}
do
echo "process id is ${tomcat_pid}"
kill -9 $tomcat_pid
echo "KILL process ${tomcat_pid} successfully!"
done
#2.备份文件
#2.1.进入目录
cd ${REMOTE_PATH}
#2.2.判断文件是否存在,若存在则备份
if [ ! -f "${WARFILE_NAME}" ]; then
echo "No file!"
else
mv ${WARFILE_NAME} ${WARFILE_NAME}${BAK_DT}
echo "Backup file successfully!"
fi
echo "Get into FTP to Get new file"
ftp -n<<!
open ${FTP_IP} ${FTP_PORT}
user ${FTP_USER} ${FTP_PWD}
binary
prompt
cd ${WARFILE_PATH}
get ${WARFILE_NAME}
close
bye
!
echo "Get file successfully!"
#4.启动应用
export JAVA_HOME=/usr/mysoft/jdk1.6.0_45
sh /opt/tomcat7/bin/startup.sh > qtl.txt
echo "Restarted Successfully!"
注意:
1.启动tomcat时要载入java_home 变量,不然执行startup.sh不成功
2.启动后,添加一条echo命令,因为startup.sh命令有输出内容,Jenkins对于有输出的会返回exit-status!=0,这样构建Job会失败
五:构建job
六:查看linux服务器webapp目录
七:访问MyTest001