除了通過SAE控制台進行應用部署,您還可以通過Alibaba Cloud Toolkit for IntelliJ IDEA(簡稱Cloud Toolkit)外掛程式部署應用。
前提條件
下載並安裝JDK1.8或更高版本。
下載並安裝IntelliJ IDEA(2018.3或更高版本)。
說明由於JetBrains外掛程式官方伺服器設立在海外,如果因訪問緩慢導致無法下載安裝,請聯絡我們。
在IntelliJ IDEA中安裝和配置Cloud Toolkit。。
背景資訊
Cloud Toolkit是阿里巴巴提供的免費IDE外掛程式。您可以註冊或使用已有的帳號免費下載Cloud Toolkit,下載完成後,將其安裝在IntelliJ IDEA中。
在本地完成應用程式的開發、調試及測試後,您可以通過本外掛程式將應用程式快速部署到SAE。
部署應用到SAE
Cloud Toolkit外掛程式目前僅支援將應用以WAR包、JAR包或鏡像方式部署到SAE。
在IntelliJ IDEA介面左側的Project地區中按右鍵待部署的工程名,在捷徑功能表中選擇。
在Deploy to SAE對話方塊,配置應用部署參數,配置完成後單擊Apply儲存設定。
參數說明如下:
參數
說明
Region
選擇應用所在地區。
Namespace
選擇應用所在命名空間。
Application
選擇應用程式名稱。
Build
Maven Build:Maven Build方式構建應用,預設添加Maven任務構建部署套件。
Upload File:JAR包或者WAR包構建應用,上傳WAR包或者JAR包後部署應用。
Image:鏡像方式構建應用,需要設定鏡像地址後部署應用。
Gradle Build:暫不支援。
可選:在Deploy to SAE對話方塊,單擊Advanced,在Advanced地區配置應用進階參數。
說明如果您未配置進階參數,部署時將預設使用SAE控制台上的值。
參數說明如下:
類型
參數
樣本值
說明
部署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" $JarStartArgsJar 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"}]
容器環境變數參數。
單擊Run。
您可以通過以下兩種方式證明應用已部署成功:
IntelliJ IDEA的Console地區列印的作業記錄中顯示
BUILD SUCCESS。SAE控制台上的應用變更記錄顯示執行成功。
管理Maven構建任務
在Deploy to SAE頁面的Before launch地區,您可以對Maven構建任務執行添加、刪除、修改和移動操作。
在IntelliJ IDEA介面左側的Project中按右鍵待部署的工程名,在捷徑功能表中選擇。
在Deploy to SAE頁面的Before launch地區,管理Maven任務。
新增工作
單擊Before launch地區右側的
,在下拉框中選擇Run Maven Goal。在Select Maven Goal對話方塊中,選擇當前工程可用的模組,在Command line地區中輸入構建命令。
單擊OK。
刪除任務:選擇需要刪除的任務,單擊Before launch地區右側的
。修改任務:選擇需要修改的任務,單擊Before launch地區右側的
,在Select Maven Goal對話方塊中修改任務資訊,單擊OK。移動任務:選擇需要移動的任務,單擊Before launch地區右側的
或
,調整任務順序。
部署多模組工程
多模組工程是各個模組獨立開發,模組之間存在調用關係的專案工程。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命令即可。