全部產品
Search
文件中心

Serverless App Engine:通過IntelliJ IDEA外掛程式部署應用

更新時間:Feb 21, 2025

除了通過SAE控制台進行應用部署,您還可以通過Alibaba Cloud Toolkit for IntelliJ IDEA(簡稱Cloud Toolkit)外掛程式部署應用。

前提條件

  1. 下載並安裝JDK1.8或更高版本
  2. 下載並安裝IntelliJ IDEA(2018.3或更高版本)
    說明 由於JetBrains外掛程式官方伺服器設立在海外,如果因訪問緩慢導致無法下載安裝,請聯絡我們
  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任務構建部署套件。
    • Upload File:JAR包或者WAR包構建應用,上傳WAR包或者JAR包後部署應用。
    • Image:鏡像方式構建應用,需要設定鏡像地址後部署應用。
    • Gradle Build:暫不支援。
  3. 可選:Deploy to SAE對話方塊,單擊Advanced,在Advanced地區配置應用進階參數。
    說明 如果您未配置進階參數,部署時將預設使用SAE控制台上的值。

    參數說明如下:

    類型參數樣本值說明
    部署JAR包Package Version1.0.1部署的應用版本號碼。
    JDKOpen JDK 8部署的應用依賴的JDK版本。
    Web Containerapache-tomcat-7.0.91部署的應用依賴的Tomcat版本。
    啟動命令設定Jar Start Optionscustom-optionJAR包啟動應用選項。應用預設啟動命令如下:
    $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs
    Jar Start Argscustom-argsJAR包啟動應用參數。應用預設啟動命令如下:
    $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 Instances1應用的最小存活執行個體數。
    Batch Wait Time10分批發布等待時間,單位為秒。
    環境變數設定Envs[{"name":"envtmp","value":"0"}]容器環境變數參數。
  4. 單擊Run
    您可以通過以下兩種方式證明應用已部署成功:
    • IntelliJ IDEA的Console地區列印的作業記錄中顯示BUILD SUCCESS
    • SAE控制台上的應用變更記錄顯示執行成功

管理Maven構建任務

Deploy to SAE頁面的Before launch地區,您可以對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地區中輸入構建命令。
      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地區,將待部署的子模組任務設定為最後執行。

多模組工程是常見的專案組織形式,toolkit-maven-plugin外掛程式支援以下兩種方式來部署多模組工程。
  • 方式一:在父工程中執行打包及部署命令。

    此方式需要toolkit-maven-plugin為1.0.3及以上版本。

    在父工程中執行toolkit:deploy命令時,增加-Ddeploy_artifacts參數來指定需要部署的子模組Artifact ID。如果希望部署多個子模組,請以半形逗號(,)分隔。

    例如:一個CarShop工程存在以下樣本的子模組:

    carshop
       itemcenter-api
       itemcenter
    
       detail

    如果想同時部署itemcenter和detail子模組,您可以在carshop目錄下,執行以下命令:

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

    預設情況下,此外掛程式會根據itemcenter和detail模組下的.edas_config.yaml檔案來分別部署對應的應用。您也可以通過增加-Dedas_config參數來指定設定檔。

  • 方式二:在子模組中執行打包及部署命令。此方式支援toolkit-maven-plugin所有版本。

    首先,在父工程中執行install命令,將子模組依賴安裝到本地的Maven倉庫。然後,進入到需要部署的子模組目錄下執行toolkit:deploy命令即可。

更多資訊

SAE部署應用完成後,您可以對應用進行如下操作。

操作

相關文檔

更新、擴縮容、啟停、刪除應用等生命週期管理的操作

管理應用生命週期

自動Auto Scaling、CLB綁定和批量啟停等提升應用效能的操作

日誌管理、監控管理、應用事件查看和變更記錄查看等聚焦應用運行狀態的操作