一种快速部署工程的eclipse插件

编程技术  /  houtizong 发布于 3年前   119

 

 

摘要

由于webservice必须要部署到运行飞天的linux环境上,这个给开发带来了诸多不便,即使修改很少的一部分都要重新编译发布整个工程,并且每次上传文件还要打开一个ssh的上传文件的窗口,这些操作耗费了大量的宝贵时间。基于这种情况,开发了一个可以一键发布部署工程的eclipse插件,该插件能将一些繁琐的工作自动化,使用起来也非常方便,本文介绍了该插件的主要设计框架,并详细阐述了如何使用该插件。

 

 

引言

开发本插件的是因为一个事实:WebService必须要部署在linux的环境上,这个就意味着在开发过程中的每次文件修改必须手工拷贝到linux的环境上(可能会有一些自动化方法)。这些拷贝操作会在不同的窗口中切换,并且如果不想拷贝整个工程,还需要在ssh的文件传输窗口中找到修改过的文件。这些都是很恼人的工作,我们有eclipse,很多工作可以在eclipse中自动完成。基于这个现实和想法,开发了这个插件。初步部署工程只需要一个简单的配置,就可以一键完成。在开发过程中,插件会自动记录上次修改过的文件,如果想同步到linux环境上,也是一键完成。我们不需要那么多的窗口。

 

 

设计

 

 

从三千尺俯瞰

 

该插件是基于client-server的模式。

 

Client:Client就是eclipse中的插件。插件用于设置配置,发送部署工程的命令,发送上传文件或删除文件的命令,收集修改的文件。

 

Server:使用该工具必须要在WebService的linux环境中部署一个server。server用于接收并执行client发送的命令(部署工程,上传文件,删除文件),如果client上传文件,server则接收这些文件,并将之保存在目标目录。这里需要注意的是:多个WebService可以部署在一个linux机器上的不同位置,但是该linux机器只需要启动一个server,因为client每次发送的命令都有目标工程的标识信息,这些信息可以让server处理多个WebService工程。

 

 

如何使用

安装server

 

将server包解压在linux环境下的任何目录。

 

进入bin目录,可以看到下面的文件:

 

其中执行脚本run,即可启动server。

 

 

安装eclipse插件

 

最新的插件文件是:com.aliyun.eclipse.mail.wsdeploy_1.0.0.201105031443.jar,可以采用自己喜欢的方法(我一般是直接将插件jar文件拷贝到eclipse的plugins目录下)。重启eclipse,进入project的properties页,如果看到下面Auto Deploy Support的项,说明插件成功安装了。

 

 

配置并部署工程

 

如上图所示,在Auto Deploy Support的页面,将Support Auto Deploy的选项选中,然后配置需要将该工程发布到的机器的ip,以及该工程发布的目录(是绝对目录)。初次部署,按下Build and Deploy the Project按钮,这时插件会执行mvn来编译整个工程,编译完成之后会发送部署工程的命令,之后发送上传文件的命令将该工程的所有文件上传到目标机器上。关闭该页面,可以在控制台窗口中看到编译的信息。由于会有千计的文件需要上传,以及网络的复杂,可能中间会出错,可以重新Build and Deploy the Project。

 

部署完之后可以发现在linux环境上的工程子目录和本地的工程的子目录结构一样,唯一不同的是多了一个tomcat的子目录,该WebService使用的就是该tomcat。工具已经在tomcat的server.xml中添加了Context元素以指定WebService的服务目录。可能要做的工作是修改该tomcat的port。

上传修改过的文件

 

前文提到过该插件会自动记录开发过程中修改过的文件,如果要上传这些修改的文件,可以选中该工程,点击右键,可以看到Deploy Project的选项。

 

点击Deploy Project,就能将这些文件上传到服务器上。可以在名为”deploy project”的控制台窗口中看到上传的信息。

 

 

未来的工作

 

目前还不能达到热加载,就算是改动方法体中的一小部分代码,也要重启服务器,后面会尝试考虑实现热加载(仅限于方法体内部的修改,添加类或者是方法签名的修改只能重启服务器)。启动和停止服务器目前还不支持,只能在ssh窗口中手动操作,后面会考虑加上这个功能,不知道大家如何看待这个功能。

 

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客