除了通过SAE控制台进行应用部署,您还可以通过Alibaba Cloud Toolkit for IntelliJ IDEA(简称Cloud Toolkit)插件部署应用。

前提条件

  1. 下载并安装JDK1.8或更高版本
  2. 下载并安装IntelliJ IDEA(2018.3或更高版本)
    说明 由于JetBrains插件官方服务器设立在海外,如果因访问缓慢导致无法下载安装,请加入文末交流群,从Cloud Toolkit产品运营部获取离线安装包。
  3. 在IntelliJ IDEA中安装和配置Cloud Toolkit

背景信息

Cloud Toolkit是阿里巴巴提供的免费IDE插件。您可以注册或使用已有的账号免费下载Cloud Toolkit,下载完成后,将其安装在IntelliJ IDEA中。

在本地完成应用程序的开发、调试及测试后,您可以通过本插件将应用程序快速部署到SAE。

部署应用到SAE

Cloud Toolkit插件目前仅支持将应用以WAR包、JAR包或镜像方式部署到SAE。

  1. 在IntelliJ IDEA界面左侧的Project区域中右键单击待部署的工程名,在快捷菜单中选择Alibaba Cloud > Deploy to SAE...
  2. Deploy to SAE对话框,配置应用部署参数,配置完成后单击Apply保存设置。
    配置部署信息参数说明如下:
    参数 说明
    Region 选择应用所在地域。
    Namespace 选择应用所在命名空间。
    Application 选择应用名称。
    Build
    • Maven Build:Maven Build方式构建应用,默认添加Maven任务构建部署包。如果需要部署子模块,请参见使用IntelliJ IDEA部署多模块工程中的子模块
    • Upload File:JAR包或者WAR包构建应用,上传WAR包或者JAR包后部署应用。
    • Image:镜像方式构建应用,需要设置镜像地址后部署应用。
    • Gradle Build:暂不支持。
  3. 可选:Deploy to SAE对话框,单击Advanced,在Advanced区域配置应用高级参数。
    说明 如果您未配置高级参数,部署时将默认使用SAE控制台上的值。
    Advanced设置

    参数说明如下:

    类型 参数 示例值 说明
    部署JAR包 Package Version 1.0.1 部署的应用版本号。
    JDK Open JDK 8 部署的应用依赖的JDK版本。
    Web Container apache-tomcat-7.0.91 部署的应用依赖的Tomcat版本。
    启动命令设置 Jar Start Options custom-option JAR包启动应用选项。应用默认启动命令如下:
    $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs
    Jar Start Args custom-args JAR包启动应用参数。应用默认启动命令如下:
    $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs
    发布策略设置 Update Strategy {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}} 部署策略,可参考以下示例:
    • 示例1:灰度1台+后续分2批+自动分批+分批间隔1分钟
      {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}
    • 示例2:分2批发布+自动分批+分批间隔0分钟
      {"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}
    Hosts绑定设置 Custom Host Alias [{"hostName":"samplehost","ip":"127.0.0.1"}] 容器内自定义Host映射。
    应用健康检查设置 Liveness {"exec":{"command":["sleep","5s"]},"initialDelaySeconds":10,"timeoutSeconds":11} 容器健康检查,健康检查失败的容器将被杀死并恢复。目前仅支持容器内下发命令的方式:
    {"exec":{"command":["sleep","5s"]},"initialDelaySeconds":10,"timeoutSeconds":11}
    Readiness {"exec":{"command":["sleep","6s"]},"initialDelaySeconds":15,"timeoutSeconds":12} 应用启动状态检查,多次健康检查失败的容器将被杀死并重启。不通过健康检查的容器将不会有SLB流量进入。
    部署设置 Min Ready Instances 1 应用的最小存活实例数。
    Batch Wait Time 10 分批发布等待时间,单位为秒。
    环境变量设置 Envs [{"name":"envtmp","value":"0"}] 容器环境变量参数。
  4. 单击Run
    您可以通过以下两种方式证明应用已部署成功:
    • IntelliJ IDEA的Console区域打印的运行日志中显示BUILD SUCCESS
    • SAE控制台上的应用变更记录显示执行成功

管理Maven构建任务

Deploy to SAE页面的Before launch区域,您可以对Maven构建任务执行添加、删除、修改和移动操作。管理Maven构建任务
  1. 在IntelliJ IDEA界面左侧的Project中右键单击待部署的工程名,在快捷菜单中选择Alibaba Cloud > Deploy to SAE...
  2. Deploy to SAE页面的Before launch区域,管理Maven任务。
    • 添加任务
      1. 单击Before launch区域右侧的添加Maven任务,在下拉框中选择Run Maven Goal
      2. Select Maven Goal对话框中,选择当前工程可用的模块,在Command line区域中输入构建命令。添加Maven任务对话框
      3. 单击OK
    • 删除任务:选择需要删除的任务,单击Before launch区域右侧的删除Maven任务
    • 修改任务:选择需要修改的任务,单击Before launch区域右侧的编辑Maven任务,在Select Maven Goal对话框中修改任务信息,单击OK
    • 移动任务:选择需要移动的任务,单击Before launch区域右侧的移动Maven任务1移动Maven任务2,调整任务顺序。

部署多模块工程

多模块工程是各个模块独立开发,模块之间存在调用关系的项目工程。Cloud Toolkit可以用于部署多模块工程中的某个子模块的场景。

如果您需要部署多模块Maven工程的子模块,您需要在Deploy to SAE页面的Before launch区域中,将待部署的子模块任务设置为最后执行,具体操作请参见使用IntelliJ IDEA部署多模块工程中的子模块

更多信息

问题反馈

如果您在使用SAE过程中有任何疑问,欢迎您扫描下面的二维码加入钉钉群进行反馈。SAE钉钉群2