Jenkins+Gradle实现持续部署

一:安装配置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插件作为部署工具
Jenkins+Gradle实现持续部署_第1张图片

二:本地安装tomcat,下载Jenkins的jar包,放到tomcat的webapps下,启动tomcat,进入http://localhost:8080/jenkins/  就可访问Jenkins了
Jenkins+Gradle实现持续部署_第2张图片

三:安装虚拟机,虚拟机上面安装Linux作为web程序服务器,Linux上安装Tomcat作为web容器,Jenkin相关配置如下
进入该页面 http://localhost:8080/jenkins/configure,配置SSH Remote Host
注意:不要用root作为用户名,需要在Linux上新创建一个用户名,否则无法链接成功
Jenkins+Gradle实现持续部署_第3张图片

四:创建Job,配置Job,编写deploy脚本配置到Jekins中

1.配置Job的SVN地址

2.配置deploy脚本,实现自动部署

Jenkins+Gradle实现持续部署_第4张图片


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

Jenkins+Gradle实现持续部署_第5张图片


六:查看linux服务器webapp目录

Jenkins+Gradle实现持续部署_第6张图片

七:访问MyTest001

Jenkins+Gradle实现持续部署_第7张图片





你可能感兴趣的:(Jenkins+Gradle实现持续部署)