1. 程式人生 > >開發筆記11 | 部署 Spring Boot 應用到阿里雲

開發筆記11 | 部署 Spring Boot 應用到阿里雲

今天晚上,聽了雲棲社群 Java 專家 徐雷frank 老師的《Java Spring Boot開發實戰系列課程》,受益匪淺,回頭就寫了一段程式,藉助阿里雲的外掛工具,順利部署到阿里雲上,分享給大家。

本地開發

無論是編寫雲端執行的,還是編寫本地執行的 Spring Boot 應用程式,程式碼編寫本身並沒有特別大的變化,因此本文采用一個極其基礎的樣例《在 Web 頁面列印 HelloWorld 的 Spring Boot 》為例,通過啟動內建的 Tomcat 容器,處理 HTTP 請求,在 Web 頁面上列印一串“Hello World”的文案。

內嵌的 Tomcat 監聽來自根目錄的請求

image

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 的啟動類

image

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);
    }
}

SpringBoot Demo 工程下載

上述程式碼就是一個標準的 Spring Boot 工程。

安裝外掛

阿里雲提供了基於 Eclipse 的外掛,以方便開發人員能夠高效的將本地 IDE 中編寫的應用程式,極速部署到 ECS中去。
外掛主頁:https://www.aliyun.com/product/cloudtoolkit

阿里雲的這個 Eclipse 外掛的安裝過程,和普通的外掛大同小異,這裡不再贅述,讀者請自行安裝。

配置外掛首選項

安裝完外掛之後,按照如下路徑進行首選項配置

頂部選單 - Window - Preferences - Alibaba Cloud Toolkit - Accounts

出現如下介面,配置阿里雲賬號的 AK 和 SK,即可完成首選項配置。(如果是子賬號,則填寫子賬號的 AK 和 SK)

image

部署

image

在 Eclipse 中,滑鼠右鍵專案工程名,在出現的選單中點選 Alibaba Cloud - Deploy to ECS...,可會出現如下部署視窗:

image

在 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 &