All Products
Search
Document Center

Serverless App Engine:Use the Alibaba Cloud Toolkit for IntelliJ IDEA plug-in to deploy an application

Last Updated:Apr 01, 2026

Alibaba Cloud Toolkit for IntelliJ IDEA is a free integrated development environment (IDE) plug-in provided by Alibaba Cloud that lets you deploy applications to Serverless App Engine (SAE) directly from IntelliJ IDEA — no need to switch to the SAE console.

You can use a new or existing Alibaba Cloud account to download and install Alibaba Cloud Toolkit in IntelliJ IDEA for free. After you develop, debug, and test your application in your data center, you can use the plug-in to deploy the application in SAE.

Prerequisites

Before you begin, make sure you have:

Deploy an application

The plug-in supports three deployment methods: WAR packages, JAR packages, and container images.

  1. In the Project panel on the left side of IntelliJ IDEA, right-click the project name and choose Alibaba Cloud > Deploy to SAE....

  2. In the Deploy to SAE dialog box, configure the basic deployment parameters and click Apply.

    ParameterDescription
    RegionThe region where the application is deployed
    NamespaceThe namespace of the application
    ApplicationThe application name
    BuildThe build method — see the options below

    Build options:

    • Maven Build — the plug-in adds a Maven job to build the deployment package automatically.

    • Upload File — upload a WAR or JAR package manually.

    • Image — provide a container image address.

    • Gradle Build — not supported.

  3. (Optional) Click Advanced to configure additional deployment parameters.

    If you skip this step, the plug-in uses the settings currently saved in the SAE console.

    The following table describes the advanced parameters.

    CategoryParameterExampleDescription
    Deployment with JAR packagesPackage Version1.0.1The version number of the deployment package
    JDKOpen JDK 8The JDK version the application depends on
    Web Containerapache-tomcat-7.0.91The Tomcat version the deployment package depends on
    Startup command settingsJar Start Optionscustom-optionOptions appended to the default startup command: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs
    Jar Start Argscustom-argsArguments appended to the default startup command: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs
    Release policy settingsUpdate StrategySee examples belowThe deployment rollout policy
    Hosts binding settingsCustom Host Alias[{"hostName":"samplehost","ip":"127.0.0.1"}]Custom hostname-to-IP mappings
    Application health checkLiveness{"exec":{"command":["sleep","5s"]},"initialDelaySeconds":10,"timeoutSeconds":11}The liveness check configuration. If a container fails this check multiple times, SAE disables and restarts it. Only command-based checks are supported.
    Readiness{"exec":{"command":["sleep","6s"]},"initialDelaySeconds":15,"timeoutSeconds":12}The readiness check configuration. If a container fails this check multiple times, SAE disables and restarts it. Containers that fail this check cannot receive traffic from Server Load Balancer (SLB) instances.
    Deployment settingsMin Ready Instances1The minimum number of instances that must be available during deployment
    Batch Wait Time10The wait time between deployment batches, in seconds
    Environment variable settingsEnvs[{"name":"envtmp","value":"0"}]Environment variables to inject into the application

    Update Strategy examples:

    • Canary release for one instance, then automatically release the remaining instances in two batches with a one-minute interval: ``json {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}} ``

    • Release all instances in two batches with no interval: ``json {"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}} ``

  4. Click Run.

Verify the deployment: The deployment succeeds when either of the following is true:

  • BUILD SUCCESS appears in the Console panel in IntelliJ IDEA.

  • The change record in the SAE console shows Success.

After a successful deployment, open the SAE console to manage your application — view logs, configure auto scaling, bind an SLB instance, and more.

Manage Maven jobs

Use the Before launch section on the Deploy to SAE page to add, delete, modify, or reorder Maven jobs that run before deployment.

  1. Right-click the project name in the Project panel and choose Alibaba Cloud > Deploy to SAE....

  2. In the Before launch section, manage Maven jobs:

    • Add a job:

      1. Click the Add Job icon and select Run Maven Goal.

      2. In the Select Maven Goal dialog box, select a module and enter the build command in the Command line field.

      3. Click OK.

    • Delete a job: Select the job and click the Delete Job icon.

    • Modify a job: Select the job, click the Modify Job icon, update the job details in the Select Maven Goal dialog box, and click OK.

    • Reorder a job: Select the job and click the Move Job 1 or Move Job 2 icon.

Deploy a multi-module project

In a multi-module project, modules are independently developed but share dependencies. Alibaba Cloud Toolkit deploys individual submodules rather than the entire project.

To deploy a submodule for a multi-module Maven project, you must execute the job of the submodule last in the Before launch section of the Deploy to SAE page.

Two methods are available:

Method 1: Deploy from the parent project (requires toolkit-maven-plugin V1.0.3 or later)

Run the packaging and deployment command from your parent project directory, using -Ddeploy_artifacts to specify which submodules to deploy. Separate multiple artifact IDs with commas.

For example, given this project structure:

carshop
├── itemcenter-api
├── itemcenter
└── detail

To deploy itemcenter and detail, run the following command in the carshop directory:

mvn clean package toolkit:deploy -Ddeploy_artifacts=itemcenter,detail

By default, each submodule is deployed using its own .edas_config.yaml file. To use a different config file, add the -Dedas_config parameter.

Method 2: Deploy from the submodule directory (all toolkit-maven-plugin versions)

  1. In the parent project directory, run install to install submodule dependencies into the local Maven repository.

  2. Go to the submodule directory and run toolkit:deploy.

What's next

After deploying your application on SAE, you can perform the following operations:

OperationReference
Update, start, stop, delete, or scale instancesManage the lifecycle of an application
Configure auto scalingConfigure an auto scaling policy
Bind an SLB instanceBind an SLB instance to an application
Start or stop applications in batchesUse the one-click start and stop feature to manage applications
Manage configurationsConfiguration management
Change instance specificationsChange the instance specifications of an application
View real-time logsLog management
Monitor application performanceMonitoring management
View application eventsView application events
View change recordsView change records
Diagnose applications with WebShellUse webshells to diagnose applications