用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:[email protected]:
            /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

时间: 2024-10-31 22:05:36

用Ant来做一键部署的相关文章

windows一键部署java项目

因为公司需求,要在windows的环境上做一键部署启动java项目,同时还要支持从安装界面动态修改配置文件的IP地址.就像安装软件一样将jdk,tomcat,mysql,influxdb,nginx安装并配置到系统上,顺便还要初始化一下数据.花了一周的时间,这里记录我的踩坑日志. 准备工作 磨刀不误砍柴工,选择好工具可以事半功倍. 一).Inno Setup,一款为Windows程序提供的免费安装程序,通过它可以将需要的文件压缩打包成exe安装程序,然后像安装程序一样解压到另外一个环境中.官网地

使用Helm 在容器服务k8s集群一键部署wordpress

摘要: Helm 是啥? 微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的apt-get / yum,由Deis 公司发起,该公司已经被微软收购. Helm 是啥? 微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes

使用docker-compose 一键部署你的分布式调用链跟踪框架skywalking

原文:使用docker-compose 一键部署你的分布式调用链跟踪框架skywalking 一旦你的程序docker化之后,你会遇到各种问题,比如原来采用的本地记日志的方式就不再方便了,虽然你可以挂载到宿主机,但你使用 --scale 的话,会导致 记录日志异常,所以最好的方式还是要做日志中心化,另一个问题,原来一个请求在一个进程中的痉挛失败,你可以在日志中巡查出调用堆栈,但是docker化之后, 原来一个进程的东西会拆成几个微服务,这时候最好就要有一个分布式的调用链跟踪,类似于wcf中的sv

8天入门docker系列 —— 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署

原文:8天入门docker系列 -- 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署 这一篇继续完善webnotebook,如果你读过上一篇的内容,你应该知道怎么去挂载webnotebook日志和容器的远程访问,但是这些还远不够,webnotebook 总要和一些数据库打交道吧,比如说mysql,mongodb,redis,通常情况下这些存储设备要么是以容器的方式承载,要么是由DBA在非容器环境下统一管理. 一:webnotebook连接容器redis

Jenkins测试环境到生产环境的一键部署策略(Windows)

Jenkins测试环境到生产环境的一键部署策略(Windows) 一.前言 前面我们已经初步实现了开发集成环境.测试环境的持续集成(自动化构建.自动化测试.自动化部署).但生产环境自动化部署迟迟没有推进.其原因主要在以下几个方面: 尚未实现部署之前的自动化备份 尚未实现部署出现问题后的自动化回滚 由于之前采用FTP上传部署需要生产环境开放FTP端口存在安全性问题且FTP会因为各种的网速问题,导致站点瞬间挂掉 只要解决以上三个问题,我们就可以初步实现生产环境的自动化部署. 二.实现思路 利用Jen

ceph集群一键部署脚本

分布式存储ceph相信大家比较熟悉了.某项目临时要做一个40个节点的存储集群.所以写了这个脚本. 一键部署脚本如下: git clone https://github.com/luckman666/deploy_ceph_cluster.git cd deploy_ceph_cluster chmod -R 755 . # 编辑base.config ./deploy_ceph_master.sh root用户执行就行,osd划盘的时候需要给设备赋权为ceph:ceph权限. 大家可以关注我的个

OpenStack多节点一键部署(超详细)

实验环境下OpenStack多节点一键部署(超详细) 前言 ? OpenStack项目是一个开源的云计算平台项目,是控制着计算.网络和存储三大资源的分布式系统.搭建这样的一个云平台系统,可以为我们提供IaaS(基础设施即服务)模式的云服务.本文核心不在相关的理论,因此有关云计算和OpenStack的概念等相关整体介绍可以参考下面的三篇文章: 云计算浅谈 OpenStack概念以及核心组件概述 OpenStack部署节点类型和架构 ? 本文旨在给出实验环境下多节点一键部署OpenStack的详细实

Windows+java+jenkins+maven+ant+sonar+sonar-runner安装部署技术手册

1.安装和配置JAVA的jdk环境 到oracal网站http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,下载java的jdk安装包,如:jdk-7u55-windows-x64.exe 安装jdk-7u55-windows-x64.exe,默认下一步即可(安装路径可以自定义). 配置环境变量: 右击"我的电脑"-->"属性",在弹出的"

CentOS 6 php5.6.0一键部署脚本

目标:一键部署php5.6.0版本 环境:CentOS 6 64位 桌面版本 软件包:链接:http://pan.baidu.com/s/1jIyZrRS 密码:q9uu [[email protected] home]# cat php.sh #/bin/bash # #CentOS 6 # . /etc/init.d/functions dir=/root/test del_dir() { read -p "需要删除${dir} 是否删除[Y|y/N|n]:" del case $