用Ant来做一键部署
部署Java Web项目到远程服务器上,以前经常用的操作方式:
1、在eclipse上导出项目war包
2、把war包通过ftp方式传到服务器上,比如Tomcat的webapps目录下
3、启动tomcat,自动解压war文件,生成该项目的文件夹,这时候算部署完毕
以上步骤是初次部署项目,如果项目有改动要重新部署的话,又要关闭tomcat,删除原来的项目文件夹(包括原来的war文件),然后再重复上面的步骤。
想想如果要部署的是服务器有多台,这样操作肯定要累死人了,而且很容易存在操作失误。
其实可以用Ant来做一键部署,比如一下build.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project name="disconf" basedir="." default="upload">
<target name="upload" depends="remove">
<scp todir="root:B4gjqXtshLnEckqS@192.168.0.24:
/data/apache-tomcat-8.0.35/webapps/disconf-web.war"
file="D:/deploy/disconf-web.war" trust="true" >
</scp>
</target>
<target name="remove">
<sshexec host="192.168.0.24" username="root" password="B4gjqXtshLnEckqS" trust="true"
command="rm -f /data/apache-tomcat-8.0.35/webapps/disconf-web.war;
rm -rf /data/apache-tomcat-8.0.35/webapps/disconf-web;">
</sshexec>
</target>
</project>
上面的Ant任务中,只有两个target:
remove是删除服务器原来的文件,它采用sshexec来执行服务器上的shell命令,像关闭tomcat服务也往command里添加,每个命令用分号隔开
upload是把war包上传到服务器上,用到的是scp,这个功能需要Ant之外的第三方jar包jsch,如果在eclipse上执行Ant命令时,会提示缺少jsch的jar包
自动部署工具
除了Ant外,其他的一键部署功能的,还可以用Maven的tomcat插件,还有就是jenkins
用Ant来做一键部署的更多相关文章
- windows一键部署java项目
		
windows一键部署java项目 因为公司需求,要在windows的环境上做一键部署启动java项目,同时还要支持从安装界面动态修改配置文件的IP地址.就像安装软件一样将jdk,tomcat,mys ...
 - 如何自动化一键部署PHP项目
		
1.技能需求 完成自动化一键部署PHP需要:PHP(略懂),Shell(略懂),git(略懂) 2.最终效果 输入密码,回车,5~20秒后(一般一天一次持续交付,部署的代码量和sql脚本都不会很大) ...
 - Ubantu16.04一键部署Cacti监控服务器
		
Ubantu16.04一键部署Cacti监控服务器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入高级运维工程师之路:598432640 一.查看系统环境(关于该系统的安装 ...
 - ASP.NET Core 一步步搭建个人网站(2)_一键部署和用户注册登录
		
俗话说,磨刀不费砍柴工.为了更方便的进行项目管理,我们先将个人网站项目配置一下,满足以下2个目标: VS2017中支持Git存储库,绑定Github项目,实现本地VS程序与线上Github一键代码提交 ...
 - 源码编译安装Apache-附一键部署脚本
		
1.进入apache官网https://www.apache.org/,点击Download 2.如图选择 3.选择httpd 4.下载两个包,2.2为CentOS6使用,2.4为CentOS7使用 ...
 - 8天入门docker系列 —— 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署
		
这一篇继续完善webnotebook,如果你读过上一篇的内容,你应该知道怎么去挂载webnotebook日志和容器的远程访问,但是这些还远不够,webnotebook 总要和一些数据库打交道吧,比如说 ...
 - 使用docker-compose 一键部署你的分布式调用链跟踪框架skywalking
		
一旦你的程序docker化之后,你会遇到各种问题,比如原来采用的本地记日志的方式就不再方便了,虽然你可以挂载到宿主机,但你使用 --scale 的话,会导致 记录日志异常,所以最好的方式还是要做日志中 ...
 - Kubernetes一键部署利器:kubeadm
		
要真正发挥容器技术的实力,你就不能仅仅局限于对 Linux 容器本身的钻研和使用. 这些知识更适合作为你的技术储备,以便在需要的时候可以帮你更快的定位问题,并解决问题. 而更深入的学习容器技术的关键在 ...
 - Git+Gitlab+Ansible的roles实现一键部署Nginx静态网站(一)--技术流ken
		
前言 截止目前已经写了<Ansible基础认识及安装使用详解(一)--技术流ken>,<Ansible常用模块介绍及使用(二)--技术流ken><Ansible剧本介绍及 ...
 
随机推荐
- 使用Spring  发送 Email !!!!
			
邮件服务器: 邮件服务器提供了邮件系统的基本结构,包括邮件传输,邮件分发,邮件存储等功能,以确保邮件能够发送到互联网中的任意地方. 邮件服务器就像我们生活中的邮局,为人们提供邮件服务.要保证邮件被正确 ...
 - DELL vostro V5460 装mSATA 半高SSD硬盘后装win8.1系统
			
1.介绍 DELL vostro V5460的超极本性能虽然不是那么好,但的确是我觉得样子最好看的一款.满足了,轻,薄.如果是红色的,则很适合女生用. 2.缺点 这款笔记本最大的缺点,就是有的无线网卡 ...
 - 使用js实现input输入框的增加
			
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
 - LAMP简易安装
			
看,老鸟绕道–LAMP简易安装 导读 LAMP是企业中最常用的服务,也是非常稳定的网站架构平台.其中L-指的是Linux,A-指的是Apache,m-指的是mysql或者marriDB,p-php.相 ...
 - 杭电acm 1002 大数模板(一)
			
从杭电第一题开始A,发现做到1002就不会了,经过几天时间终于A出来了,顺便整理了一下关于大数的东西 其实这是刘汝佳老师在<算法竞赛 经典入门 第二版> 中所讲的模板,代码原封不动写上的, ...
 - js创建对象的四种方式
			
(1)对象字面量 var clock = { hour:12, minute: 10, second: 10, showTime: function(){ alert(this.hou ...
 - while做法1.兔子生兔子 2.求100以内质数的和3.洗发水15元 牙膏5元 香皂2元 150元的算法
			
1.兔子生兔子 2.求100以内质数的和 3.150块钱花完问题
 - 什么是html技术
			
HTML(Hyper Text Mark-up Language )即超文本标记语言,是 WWW 的描述语言,由 Tim Berners-lee提出.设计 HTML 语言的目的是为了能把存放在一台电脑 ...
 - jQuery中方法html()与text()的不同
			
区别一:html()方法设置或者返回被选元素的内容,其效果类似于操作元素对象的“innerHTML”属性:text()方法设置或者返回被选元素的文本内容,其效果等同于操作元素对象的“textConte ...
 - Longest Valid Parentheses
			
Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...