接着上次的说,上次只是实现了本地自动化部署,这种情况只是针对开发环境和部署环境在同一台机器时适用。不过,一般情况下,我们都会要把项目部署到远程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、经过以上配置后,访问测试,运行通过。

  

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

Jenkins部署到远程(Linux服务器)的更多相关文章

  1. .Net Core 使用jenkins 部署到远程服务器docker

    最近一直在研究docker和kubernetes,小型的项目其实也用不到k8s,本文就是描述如何用jenkins 进行构建asp.net core 3.1项目并且发布到远程服务器docker容器中.本 ...

  2. jprofiler_监控远程linux服务器的JVM进程(实践)

    几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...

  3. jprofiler_监控远程linux服务器的JVM进程(转 非常棒)

    几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...

  4. [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  5. Sublime Text编辑远程Linux服务器上的文件

    sublime有个叫sftp的插件,可以通过它直接打开远程机器上的文件进行编辑,并在保存后直接同步到远程linux服务器上. 用Package Control安装插件 按下Ctrl+Shift+P调出 ...

  6. [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问

    前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...

  7. Linux下不借助工具实现远程linux服务器上传下载文件

    # Linux下不借助工具实现远程linux服务器上传下载文件 ## 简介 - Linux下自带ssh工具,可以实现远程Linux服务器的功能- Linux下自带scp工具,可以实现文件传输功能 ## ...

  8. windows客户端如果通过cmd窗口连接到远程linux服务器,可以使用telnet;

     linux系统打开telnet端口的方法 2016-03-11 16:02:25 标签:linux telnet 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明. ...

  9. vscode实现远程linux服务器上Python开发

      最近需要训练一个生成对抗网络模型,然后开发接口,不得不在一台有显卡的远程linux服务器上进行,所以,趁着这个机会研究了下怎么使用vscode来进行远程开发.   1 配置免密登录¶   (1)在 ...

随机推荐

  1. 对于SQL Server,我需要多少内存

    经常被问到的一个问题:对于SQL Server,我需要多少内存?这个问题还是有同样的典型的“看情况而定”答案.在今天的文章里,我们来详细看下“看情况而定的”的不同方面. 全新SQL Server安装 ...

  2. 故障恢复和恢复模式(Crash Recovery & Recovery Models)

    数据库的恢复模型是否影响故障恢复,在简单恢复模式里,你是否会丢失事务?在今天的文章里我想谈下这点,详细讨论下. 恢复模式(Recovery Models) 对于这个问题的最简单的答案是不会:恢复模型不 ...

  3. Github团队开发示例(一)

    Github团队开发示例(二) 作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/6044837.html 我们可以在Github上管理自己的团队项目.团队 ...

  4. angularjs SyntaxError: Unexpected token  in JSON at position 0

    使用NodeJs读取json格式的文件,转换成对象时报错 :SyntaxError: Unexpected token in JSON at position 0,这个问题查了两三个小时,记录一下解决 ...

  5. svn中cleanup作用

    我们开发项目的时候,用版本控制软件svn提交项目时候难免会遇到cleanup,那么这个提示是怎么产生的呢?它有什么作用呢? 产生原因:SVN 本地更新时,由于一些操作中断更新,如磁盘空间不够,用户取消 ...

  6. 25M电子琴实现

    module qin(input clk,output reg beep,input [3:0] col,output [3:0] row_data,output [7:0]out ,input rs ...

  7. 流的文件操作(File)

    一.流的分类: 1.流按照方向分类:分为输入流和输出流,流的操作是相对于内存而言. 输入流的定义:当我们从数据源中将数据读取到内存中就称为输入流,也叫读取流. 输出流的定义:当我们将内存中处理好的数据 ...

  8. Hibernate实现有两种配置,xml配置与注释配置

    hibernate实现有两种配置,xml配置与注释配置. (1):xml配置:hibernate.cfg.xml (放到src目录下)和实体配置类:xxx.hbm.xml(与实体为同一目录中) < ...

  9. Atitit利用反射获取子类 集合 以及继承树

    Atitit利用反射获取子类 集合 以及继承树 想从父类往下找子类的确是不可能的,要知道只要类不是final的话谁都有继承它的自由不需要事前通知父类. Eclipse实现不是重父类开始找而是重子类往回 ...

  10. 十一个行为模式之解释器模式(Interpreter Pattern)

    定义: 定义一个语言的文法,可以使用一个解释器来解释其文法.定义终结符和非终结符的统一接口,并使用抽象对象建立非终结符与其它元素的关联. 结构图: AbstractExpression:抽象表达式类, ...