2020-5-1 12:07:26

在 IntelliJ IDEA 中部署应用到服务器

本地开发

无论是编写云端运行的,还是编写本地运行的 Java 应用程序,代码编写本身并没有特别大的变化,因此本文采用一个及其基础的样例《在 Web 页面打印 HelloWorld 的 Java Servlet 》为例,做参考。
自动部署 - 图1

  1. public class IndexServlet extends HttpServlet {
  2. private static final long serialVersionUID = -112210702214857712L;
  3. @Override
  4. public void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {
  5. PrintWriter writer = resp.getWriter();
  6. //Demo:通过 Cloud Toolkit ,高效的将本地应用程序代码修改,部署到云上。
  7. writer.write("Deploy from alibaba cloud toolkit. 2018-10-24");
  8. return;
  9. }
  10. @Override
  11. protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {
  12. return;
  13. }}

源代码下载
上述代码就是一个标准的 Java 工程,用于在 Web 页面上打印一串“Hello World”的文案。

安装插件

阿里云提供了基于 Intellij IDEA 的插件,以方便开发人员能够高效的将本地 IDE 中编写的应用程序,极速部署到服务器中去。
插件主页:https://www.aliyun.com/product/cloudtoolkit
阿里云的这个 IntelliJ IDEA 插件的安装过程,和普通的插件大同小异,这里不再赘述,读者请自行安装。

添加服务器

自动部署 - 图2
如上图所示,在菜单
Tools - Alibaba Cloud - Alibaba Cloud View - Host中打开机器视图界面,如下图:
自动部署 - 图3
点击右上角Add Host按钮,出现添加机器界面
自动部署 - 图4

部署

自动部署 - 图5
在 IntelliJ IDEA 中,鼠标右键项目工程名,在出现的菜单中点击 Alibaba Cloud - Deploy to Host…,会出现如下部署窗口:
自动部署 - 图6
在 Deploy to Host 对话框设置部署参数,然后单击 Deploy,即可执行初次部署。

部署参数说明:

  • Deploy File:部署文件包含两种方式。
    • Maven Build:如果当前工程采用 Maven 构建,可以使用 Cloud Toolkit 直接构建并部署。
    • Upload File:如果当前工程并非采用 Maven 构建,或者本地已经存在打包好的部署文件,可以选择并直接上传本地的部署文件。
  • Target Deploy host:在下拉列表中选择Tag,然后选择要部署的服务器。
  • Deploy Location :输入在 ECS 上部署路径,如 /root/tomcat/webapps。
  • Commond:输入应用启动命令,如 sh /root/restart.sh。表示在完成应用包的部署后,需要执行的命令 —— 对于 Java 程序而言,通常是一句 Tomcat 的启动命令。