Jenkins部署到远程(Linux服务器)
接着上次的说,上次只是实现了本地自动化部署,这种情况只是针对开发环境和部署环境在同一台机器时适用。不过,一般情况下,我们都会要把项目部署到远程Linux服务器上,所以这节的主要内容是:
1、部署开发环境下的Web项目到远程Linux服务器;
2、实现自动备份;
准备环境:
本地开发,安装虚拟机,在虚拟机安装Linux服务器
步骤:
1、安装插件,登录到Jenkins后台,选择“系统管理”--->“管理插件”,在可选插件中,选择Publish Over SSH,安装这个插件;
2、安装完后,配置这个选项,在系统管理中找到,如下图:
这里只说下主要配置项,SSH Server Name,服务器名称,自己随便起个名字即可;Hostname,服务器的IP地址;Username,远程服务器的帐号,这里我用了root;Remote Directory,访问路径,“/”根路径即可。
其他的选项参考,http://blog.csdn.net/wangmuming/article/details/22925895。
3、这次不用新建项目了,以上次建的项目为基础,做个拷贝,在此基础上修改就行,如图:
4、上面的都不用动,只修改“构建后操作”,把上次部署war包的方式(Deploy war/ear to a container)删除,添加刚才安装插件后的(Send build artifacts over SSH),配置见图:
需要注意的地方:Remote directory,这个最好配置为绝对路径,主要是为了临时放置项目的地方,在第5步可以看到;
5、增加deploy.sh脚本,新下载的tomcat的bin目录没有该文件,自己新建一个即可,里面的内容如下,根据自己的实际情况进行调整,都是一些常见的shell命令:
#!/bin/sh
export JAVA_HOME=/usr/java/jdk1.7.0_75
kill -9 $(ps -aef | grep tomcat/conf | grep -v grep | awk '{print $2}')
cd /app/programs/tomcat_test1/webapps
mv ROOT.war ROOT_`date +%Y%m%d%H%M%S`.war.bak
#rm -rf ROOT
mv /app/programs/temp/mvcDemo3*-SNAPSHOT.war ROOT.war
cd /app/programs/tomcat_test1/bin
./startup.sh
6、经过以上配置后,访问测试,运行通过。
总结:截至到现在,已经完成了自动化部署到本地和远程的全部配置。我这两篇文档主要侧重于操作实现和备忘,一些细节未进行说明,有需要的朋友可以自行往下深入研究,可以一块讨论。。。