開發筆記11 | 部署 Spring Boot 應用到阿里雲
今天晚上,聽了雲棲社群 Java 專家 徐雷frank 老師的《Java Spring Boot開發實戰系列課程》,受益匪淺,回頭就寫了一段程式,藉助阿里雲的外掛工具,順利部署到阿里雲上,分享給大家。
本地開發
無論是編寫雲端執行的,還是編寫本地執行的 Spring Boot 應用程式,程式碼編寫本身並沒有特別大的變化,因此本文采用一個極其基礎的樣例《在 Web 頁面列印 HelloWorld 的 Spring Boot 》為例,通過啟動內建的 Tomcat 容器,處理 HTTP 請求,在 Web 頁面上列印一串“Hello World”的文案。
內嵌的 Tomcat 監聽來自根目錄的請求
package com.aliyun.toolkit.demo; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorldController { @RequestMapping("/") public String sayHello() { return "Alibaba Cloud Toolkit: Hello,World."; } }
Spring Boot 的啟動類
package com.aliyun.toolkit.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Startup { public static void main(String[] args) { SpringApplication.run(Startup.class,args); } }
上述程式碼就是一個標準的 Spring Boot 工程。
安裝外掛
阿里雲提供了基於 Eclipse 的外掛,以方便開發人員能夠高效的將本地 IDE 中編寫的應用程式,極速部署到 ECS中去。
外掛主頁:https://www.aliyun.com/product/cloudtoolkit
阿里雲的這個 Eclipse 外掛的安裝過程,和普通的外掛大同小異,這裡不再贅述,讀者請自行安裝。
配置外掛首選項
安裝完外掛之後,按照如下路徑進行首選項配置
頂部選單 - Window - Preferences - Alibaba Cloud Toolkit - Accounts
出現如下介面,配置阿里雲賬號的 AK 和 SK,即可完成首選項配置。(如果是子賬號,則填寫子賬號的 AK 和 SK)
部署
在 Eclipse 中,滑鼠右鍵專案工程名,在出現的選單中點選 Alibaba Cloud - Deploy to ECS...,可會出現如下部署視窗:
在 Deployment Configurations 對話方塊設定部署引數,然後單擊 Deploy,即可執行部署。
部署引數說明
-
Deploy File:部署檔案包含兩種方式。
- Maven Build:如果當前工程採用 Maven 構建,可以使用 Cloud Toolkit 直接構建並部署。
- Upload File:如果當前工程並非採用 Maven 構建,或者本地已經存在打包好的部署檔案,可以選擇並直接上傳本地的部署檔案。
- Target Deploy ECS:在下拉列表中選擇地域,然後在地域中選擇要部署的 ECS 例項。
- Deploy Location :輸入在 ECS 上部署路徑,如 /root/springbootdemo
- Commond:輸入應用啟動命令,如 sh /root/springbootdemo/restart.sh。表示在完成應用包的部署後,需要執行的命令 —— 對於 Spring Boot 程式而言,通常是一句 java -jar XXXX.jar 的啟動命令。
/root/springbootdemo/restart.sh 內容如下:
source ~/.bash_profile
killall java
nohup java -jar /root/springbootdemo/springbootdemo-0.0.1-SNAPSHOT.jar > nohup.log 2>&1 &