Jenkins部署到远程(Linux服务器)

摘要:
上次,我们刚刚实现了本地自动部署,仅当开发环境和部署环境位于同一台机器上时才适用。对于其他选项,http://blog.csdn.net/wangmuming/article/details/22925895 。/ bin/shexportJAVA_HOME=/usr/java/jdk1.7.0_75kill-9$cd/app/programs/tomcat_test1/webappsmvROOT。warROOT_`日期+%Y%m%d%H%m%S`.war.bak#rm rfROOTmv/app/programs/temp/mvcDemo3*-SNAPSHOT.warROOT。warcd/app/programs/tomcat_test1/bin./startup。Sh6.完成上述配置后,访问测试通过。我的两份文件主要侧重于行动和备忘录的实施。一些细节没有解释。如果你需要帮助,你可以进一步讨论。。。

接着上次的说,上次只是实现了本地自动化部署,这种情况只是针对开发环境和部署环境在同一台机器时适用。不过,一般情况下,我们都会要把项目部署到远程Linux服务器上,所以这节的主要内容是:

1、部署开发环境下的Web项目到远程Linux服务器;

2、实现自动备份;

准备环境

本地开发,安装虚拟机,在虚拟机安装Linux服务器

步骤

1、安装插件,登录到Jenkins后台,选择“系统管理”--->“管理插件”,在可选插件中,选择Publish Over SSH,安装这个插件;

2、安装完后,配置这个选项,在系统管理中找到,如下图:

Jenkins部署到远程(Linux服务器)第1张

这里只说下主要配置项,SSH Server Name,服务器名称,自己随便起个名字即可;Hostname,服务器的IP地址;Username,远程服务器的帐号,这里我用了root;Remote Directory,访问路径,“/”根路径即可。

其他的选项参考,http://blog.csdn.net/wangmuming/article/details/22925895

3、这次不用新建项目了,以上次建的项目为基础,做个拷贝,在此基础上修改就行,如图:

Jenkins部署到远程(Linux服务器)第2张

4、上面的都不用动,只修改“构建后操作”,把上次部署war包的方式(Deploy war/ear to a container)删除,添加刚才安装插件后的(Send build artifacts over SSH),配置见图:

Jenkins部署到远程(Linux服务器)第3张

需要注意的地方: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、经过以上配置后,访问测试,运行通过。

总结:截至到现在,已经完成了自动化部署到本地和远程的全部配置。我这两篇文档主要侧重于操作实现和备忘,一些细节未进行说明,有需要的朋友可以自行往下深入研究,可以一块讨论。。。

免责声明:文章转载自《Jenkins部署到远程(Linux服务器)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇10种顶级javascript框架比较The Top 10 Javascript MVC Frameworks准实时数仓设计方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【转载】eclipse调试arm裸机程序

一、集成开发环境 软件部分:eclipse , GDB Server , Jlink软件 硬件部分:Jlink硬件 准备工作1:从SD/NOR Flash启动,格式化nand flash 准备工作2:硬件连接 1. Jlink连接 2. 串口连接 3. nand启动 二、安装GDB Server 解压:tar xvzf arm-linux-gdb-7.5...

Linux清空文件内容方法大全

Linux系统中一切皆文件。 所以在清空或删除文件之前一定要确保该文件不是系统文件或者其他重要配置文件,否则可能引发系统错误。 一、通过重定向来清空文件内容 该方法是最简单的,通过shell重定向null到指定文件即可 $ > system.log 还有两个重定向方法: 重定向:或者true到指定文件 $ :> system.log 或者...

Vmware上安装Linux(centos7)图文教程

Vmware上安装Linux(centos7)图文教程  一、准备安装文件(vmware && centos7 镜像) 1、下载  vmware workstations :链接: https://pan.baidu.com/s/1GscfXnkgzOvVO9889_n8-Q 提取码: a7jm ,也可以自行在网上下载。 然后一路下一步安装...

Ubuntutar命令

tar zxvf ut6410-android2.1.tgz tar zcvf ut6410-android2.1.tgz ut6410-android2.1/ tar --exclude ut6410-android2.1/out-zcvf ut6410-android2.1.tgz ut6410-android2.1/ tar命令 [root@lin...

Linux 串口驱动设计一

TTY驱动程序架构设计 一 。TTY概念解析   1. dev/ttySAC0     在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。       •串口终端(/dev/ttyS*)      串口终端是使用计算机串口连接的终端设备。Linux把每个串行端口都看作是一个字符设备。        这些串行端...

Linux下.NET开发环境构建

.net,C#,Asp.Net VisualStudio跟着微软一步步走来,有成功,有喜悦,有收获,但也有一种莫名的危机感,整理思路,规划下未来的道路:花四层左右的时间继续跟着微软的步伐,在比尔教主的大旗下继续开拓疆土,同时花六成左右的时间将重心转移到Linux,Php ,C/C++,分布式文件系统于存储,高并发、大数据量互联网架构上,看上去很多,当然梦想...