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插件作为部署工具


二:本地安装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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

taoli-qiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值