本快速入門說明如何將 Spring Boot Web 應用程式部署至 Azure Spring Apps。 範例專案是一個簡單的 ToDo 應用程式,可新增工作、在工作完成時標記,然後刪除工作。 下列螢幕快照顯示應用程式:
此應用程式是具有下列層的典型三層 Web 應用程式:
- 前端系結 React 應用程式。
- 使用 Spring Data JPA 來存取關係資料庫的後端 Spring Web 應用程式。
- 關係資料庫。 針對localhost,應用程式會使用 H2 資料庫引擎。 針對 Azure Spring Apps,應用程式會使用 適用於 PostgreSQL 的 Azure 資料庫。 如需 適用於 PostgreSQL 的 Azure 資料庫 的詳細資訊,請參閱彈性伺服器檔。
下圖顯示系統的架構:
本文提供下列部署至 Azure Spring Apps 的選項:
- [Azure 入口網站] 選項是建立資源和部署應用程式的最簡單且最快的方式,只需按兩下即可。 這個選項適用於想要將應用程式快速部署至 Azure 雲端服務的 Spring 開發人員。
-
Azure 入口網站 + Maven 外掛程式選項提供更傳統的方法來建立資源和逐步部署應用程式。 此選項適用於第一次使用 Azure 雲端服務的 Spring 開發人員。
- Azure 開發人員 CLI 選項是一種更有效率的方式,可透過簡單的命令自動建立資源及部署應用程式。 Azure 開發人員 CLI 會使用範本來布建所需的 Azure 資源,以及部署應用程式程式代碼。 此選項適用於熟悉 Azure 雲端服務的 Spring 開發人員。
本文提供下列部署至 Azure Spring Apps 的選項:
- [Azure 入口網站] 選項是建立資源和部署應用程式的最簡單且最快的方式,只需按兩下即可。 這個選項適用於想要將應用程式快速部署至 Azure 雲端服務的 Spring 開發人員。
-
Azure 入口網站 + Maven 外掛程式選項提供更傳統的方法來建立資源和逐步部署應用程式。 此選項適用於第一次使用 Azure 雲端服務的 Spring 開發人員。
-
Azure CLI 選項會使用功能強大的命令行工具來管理 Azure 資源。 此選項適用於熟悉 Azure 雲端服務的 Spring 開發人員。
1.Prerequisites
- Azure 訂用帳戶。 如果您沒有訂用帳戶,請先建立免費帳戶,再開始操作。
- Azure 訂用帳戶。 如果您沒有訂用帳戶,請先建立免費帳戶,再開始操作。
2. 準備 Spring 專案
雖然您在後續步驟中使用 Azure 入口網站,但您必須使用Bash命令行在本機準備專案。 使用下列步驟在本機複製並執行應用程式:
使用下列命令從 GitHub 複製範例專案:
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
使用下列命令以 Maven 建置範例專案:
cd ASA-Samples-Web-Application
./mvnw clean package
使用下列命令來執行範例應用程式:
java -jar web/target/simple-todo-web.jar
在瀏覽器中移至 http://localhost:8080 以存取應用程式。
使用下列步驟在本機複製並執行應用程式:
使用下列命令從 GitHub 複製範例專案:
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
使用下列命令以 Maven 建置範例專案:
cd ASA-Samples-Web-Application
./mvnw clean package
使用下列命令來執行範例應用程式:
java -jar web/target/simple-todo-web.jar
在瀏覽器中移至 http://localhost:8080 以存取應用程式。
3.準備雲端環境
執行此範例所需的主要資源是 Azure Spring Apps 實例和 適用於 PostgreSQL 的 Azure 資料庫 實例。 本節提供建立這些資源的步驟。
本節使用 [部署至 Azure] 按鈕,在 Azure 入口網站 中啟動部署體驗。 此體驗會使用 ARM範本 來建立 Azure 資源。
3.1. 登入 Azure 入口網站
移至 Azure 入口網站,然後輸入您的認證以登入入口網站。 預設檢視是您的服務儀表板。
3.2. 建立 Azure 資源
使用下列步驟來建立應用程式相依的所有 Azure 資源:
選取下列 [部署至 Azure] 按鈕,以在 Azure 入口網站 中啟動部署體驗:
填寫 [基本] 索引卷標上的窗體。使用下表做為完成窗體的指南:
| 設定 |
建議的值 |
描述 |
|
訂用帳戶 |
您的訂閱名稱。 |
您要用於伺服器的 Azure 訂用帳戶。 如果您有多個訂用帳戶,請選擇您想要針對資源計費的訂用帳戶。 |
|
資源群組 |
myresourcegroup |
新的資源群組名稱,或您訂用帳戶中現有的資源群組名稱。 |
|
區域 |
最接近用戶的區域。 |
區域可用來建立資源群組。 |
|
Postgre SQL 管理員密碼 |
N/A |
PostgreSQL 伺服器管理員的密碼。 |
|
Postgre SQL 用戶密碼 |
N/A |
PostgreSQL 應用程式使用者的密碼,用於應用程式。 |
選取 [檢閱並建立] 以檢閱您的選取項目。 然後,選取 [建立] 將應用程式部署至 Azure Spring Apps。
在工具列上,選取 [通知] 圖示 (鈴鐺) 以監視部署程序。 部署完成之後,您可以選取 [釘選到儀錶板],這會在 Azure 入口網站 儀錶板上建立此服務的圖格,作為服務的 [概觀] 頁面的快捷方式。 選取 [移至資源 ] 以開啟服務的 [概 觀 ] 頁面。
3.1. 登入 Azure 入口網站
移至 Azure 入口網站,輸入您的認證,然後登入入口網站。 預設檢視是您的服務儀表板。
3.2. 建立 Azure Spring Apps 執行個體
使用下列步驟來建立服務實例:
選取 Azure 入口網站 角落的 [建立資源]。
選取 [計算>Azure Spring Apps]。
在 [基本資料] 表單中填寫下列資訊:
| 設定 |
建議的值 |
描述 |
|
訂用帳戶 |
您的訂閱名稱。 |
您要用於伺服器的 Azure 訂用帳戶。 如果您有多個訂用帳戶,請選擇您想要針對資源計費的訂用帳戶。 |
|
資源群組 |
myresourcegroup |
新的資源群組名稱,或您訂用帳戶中現有的資源群組名稱。 |
|
名稱 |
myasa |
識別 Azure Spring Apps 服務的唯一名稱。 名稱長度必須為 4 到 32 個字元,且只能包含小寫字母、數字及連字號。 服務名稱的第一個字元必須是字母,且最後一個字元必須是字母或數字。 |
|
計劃 |
企業 |
決定與實例相關聯的資源和成本的定價方案。 |
|
區域 |
最接近用戶的區域。 |
最靠近您使用者的位置。 |
|
區域備援 |
未選取 |
在 Azure 可用性區域中建立 Azure Spring Apps 服務的選項。 所有區域目前不支援此功能。 |
|
軟體IP方案 |
隨用隨付 |
使用 Azure Spring Apps 隨用隨付。 |
|
條款 |
Selected |
與 Marketplace 供應項目相關聯的合約複選框。 您必須選取此複選框。 |
|
部署範例專案 |
未選取 |
使用內建範例應用程式的選項。 |
選取 [檢閱並建立] 以檢閱您的選取項目。 然後,選取 [建立] 以布建 Azure Spring Apps 實例。
在工具列上,選取 [通知] 圖示 (鈴鐺) 以監視部署程序。 部署完成之後,您可以選取 [釘選到儀錶板],這會在 Azure 入口網站 儀錶板上建立此服務的圖格,作為服務的 [概觀] 頁面的快捷方式。
選取 [移至資源 ] 以移至 [Azure Spring Apps 概觀 ] 頁面。
3.3. 準備 PostgreSQL 實例
使用下列步驟建立 適用於 PostgreSQL 的 Azure 資料庫 伺服器:
在 Azure 入口網站中,選取 [建立資源]。
選取 [資料庫> 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器]。
在 [基本] 索引標籤中填寫下列資訊:
-
伺服器名稱: my-demo-pgsql
-
區域: 美國東部
-
PostgreSQL 版本: 14
-
工作負載類型: 開發
-
啟用高可用性:未選取
-
驗證方法: 僅 PostgreSQL 驗證
-
管理員用戶名稱: myadmin
-
密碼 和 確認密碼:輸入密碼。
使用下列資訊設定 [ 網络] 索引 標籤:
-
線上方法: 公用存取(允許的IP 位址)
-
允許從 Azure 內的任何 Azure 服務公開存取此伺服器:選取
選取 [ 檢閱 + 建立 ] 以檢閱您的選取專案,然後選取 [ 建立 ] 以布建伺服器。 這項作業可能需要幾分鐘的時間。
前往您 Azure 入口網站上的 [PostgreSQL 伺服器]。
從導覽功能表中選取 [資料庫 ] 以建立資料庫 ,例如 Todo。
3.4. 將應用程式實例連線至 PostgreSQL 實例
使用下列步驟來連線服務實例:
在 Azure 入口網站中,移至您的 Azure Spring Apps 執行個體。
從瀏覽窗格中,開啟 [應用程式 ],然後選取 [ 建立應用程式]。
在 [ 建立應用程式] 頁面上,針對應用程式名稱,使用 simple-todo-web ,並將所有其他字段保留其預設值。
選取 [建立 ] 以完成建立應用程式,然後選取應用程式以檢視詳細數據。
從瀏覽窗格中選取 [服務連接器 ],然後選取 [ 建立 ] 以建立新的服務連線。
在 [基本] 索引標籤中填寫下列資訊:
-
服務類型: 適用於 PostgreSQL 的 DB 彈性伺服器
-
線上名稱:填入可修改的自動產生名稱。
-
訂用帳戶︰選取您的訂用帳戶。
-
PostgreSQL 彈性伺服器: my-demo-pgsql
-
PostgreSQL 資料庫:選取您建立的資料庫。
-
用戶端類型: SpringBoot
使用下列資訊設定 [ 下一步:驗證 ] 索引標籤:
注意
Microsoft 建議您使用最安全的可用驗證流程。 此程式中所述的驗證流程,例如資料庫、快取、傳訊或 AI 服務,在應用程式中需要高度的信任,而且不會在其他流程中帶來風險。 只有在更安全的選項,例如無密碼或無密鑰連線的受控識別時,才能使用此流程。 針對本機計算機作業,偏好使用無密碼或無密鑰連線的使用者身分識別。
-
選取您想要在計算服務和目標服務之間使用的驗證類型。:選取 [連接字元串]。
-
繼續...:選取 資料庫認證
-
用戶名稱: myadmin
-
密碼:輸入您的密碼。
選取 [下一步:網路]。 使用預設選項 [設定防火牆規則] 來啟用目標服務的存取。
選取 [下一步:檢閱和建立 ] 以檢閱您的選取專案,然後選取 [ 建立 ] 以建立連線。
3.1. 提供每個資源的名稱
使用下列命令建立變數來保存資源名稱。 請務必將預留位置取代為您自己的值。
注意
Microsoft 建議您使用最安全的可用驗證流程。 此程式中所述的驗證流程,例如資料庫、快取、傳訊或 AI 服務,在應用程式中需要高度的信任,而且不會在其他流程中帶來風險。 只有在更安全的選項,例如無密碼或無密鑰連線的受控識別時,才能使用此流程。 針對本機計算機作業,偏好使用無密碼或無密鑰連線的使用者身分識別。
export RESOURCE_GROUP=<resource-group-name>
export LOCATION=<location>
export POSTGRESQL_SERVER=<server-name>
export POSTGRESQL_DB=<database-name>
export POSTGRESQL_ADMIN_USERNAME=<admin-username>
export POSTGRESQL_ADMIN_PASSWORD=<admin-password>
export AZURE_SPRING_APPS_NAME=<Azure-Spring-Apps-service-instance-name>
export APP_NAME=<web-app-name>
3.2. 建立新的資源群組
使用下列步驟來建立新的資源群組。
使用下列命令登入 Azure CLI。
az login
使用下列命令來設定預設位置。
az configure --defaults location=${LOCATION}
使用下列命令來列出所有可用的訂用帳戶,以判斷要使用的訂用帳戶標識碼。
az account list --output table
使用下列命令來設定預設訂用帳戶:
az account set --subscription <subscription-ID>
使用下列命令來建立資源群組。
az group create --resource-group ${RESOURCE_GROUP}
使用下列命令,將新建立的資源群組設定為預設資源群組。
az configure --defaults group=${RESOURCE_GROUP}
3.3. 建立 Azure Spring Apps 執行個體
Azure Spring Apps 可用來裝載 Spring Web 應用程式。 建立 Azure Spring Apps 實例及其內部的應用程式。
使用下列命令來建立 Azure Spring Apps 服務實例。
az spring create --name ${AZURE_SPRING_APPS_NAME} --sku enterprise
使用下列命令在 Azure Spring Apps 實例中建立應用程式。
az spring app create \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--assign-endpoint true
3.4. 準備 PostgreSQL 實例
Spring Web 應用程式會針對localhost中的資料庫使用 H2,並針對 Azure 中的資料庫使用 適用於 PostgreSQL 的 Azure 資料庫。
使用下列命令來建立 PostgreSQL 實例:
注意
Microsoft 建議您使用最安全的可用驗證流程。 此程式中所述的驗證流程,例如資料庫、快取、傳訊或 AI 服務,在應用程式中需要高度的信任,而且不會在其他流程中帶來風險。 只有在更安全的選項,例如無密碼或無密鑰連線的受控識別時,才能使用此流程。 針對本機計算機作業,偏好使用無密碼或無密鑰連線的使用者身分識別。
az postgres flexible-server create \
--name ${POSTGRESQL_SERVER} \
--database-name ${POSTGRESQL_DB} \
--admin-user ${POSTGRESQL_ADMIN_USERNAME} \
--admin-password ${POSTGRESQL_ADMIN_PASSWORD} \
--public-access 0.0.0.0
0.0.0.0指定 可讓從 Azure 內部署的任何資源進行公用存取,以存取您的伺服器。
3.5. 將應用程式實例連線至 PostgreSQL 實例
建立應用程式實例和 PostgreSQL 實例之後,應用程式實例就無法直接存取 PostgreSQL 實例。 使用下列步驟可讓應用程式連線到 PostgreSQL 實例。
使用下列指令取得 PostgreSQL 實體的完整網域名稱:
export PSQL_FQDN=$(az postgres flexible-server show \
--name ${POSTGRESQL_SERVER} \
--query fullyQualifiedDomainName \
--output tsv)
使用下列命令,透過環境變數將屬性提供給 spring.datasource. 應用程式:
注意
Microsoft 建議您使用最安全的可用驗證流程。 此程式中所述的驗證流程,例如資料庫、快取、傳訊或 AI 服務,在應用程式中需要高度的信任,而且不會在其他流程中帶來風險。 只有在更安全的選項,例如無密碼或無密鑰連線的受控識別時,才能使用此流程。 針對本機計算機作業,偏好使用無密碼或無密鑰連線的使用者身分識別。
az spring app update \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--env SPRING_DATASOURCE_URL="jdbc:postgresql://${PSQL_FQDN}:5432/${POSTGRESQL_DB}?sslmode=require" \
SPRING_DATASOURCE_USERNAME="${POSTGRESQL_ADMIN_USERNAME}" \
SPRING_DATASOURCE_PASSWORD="${POSTGRESQL_ADMIN_PASSWORD}"
4.將應用程式部署至 Azure Spring Apps
上一節中的 [部署至 Azure] 按鈕會啟動包含應用程式部署的 Azure 入口網站 體驗,因此不需要其他任何專案。
使用下列步驟來部署使用適用於 Azure Spring Apps 的 Maven 外掛程式:
瀏覽至 完整的 目錄,然後執行下列命令以在 Azure Spring Apps 中設定應用程式:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
下列清單描述命令互動:
-
選取要設定的子模組:選取要設定的 模組,然後輸入 SimpleTodo Web 模組的數目。
-
OAuth2 登入:您必須根據 OAuth2 通訊協定授權登入 Azure。
-
選取訂用帳戶:選取您所建立之 Azure Spring Apps 實例的訂用帳戶清單編號,預設為清單中的第一個訂用帳戶。 如果您使用預設號碼,請直接按 Enter 。
-
在 Azure 中使用現有的 Azure Spring Apps:按 y 以使用現有的 Azure Spring Apps 實例。
-
選取 [Azure Spring Apps 以進行部署:選取您所建立的 Azure Spring Apps 實例數目。 如果您使用預設號碼,請直接按 Enter 。
-
公開此應用程式的公用存取:按 y。
-
確認儲存上述所有組態:按 y。 如果您按下 n,則組態不會儲存在 POM 檔案中。
使用下列命令部署應用程式:
./mvnw azure-spring-apps:deploy
下列清單描述命令互動:
-
OAuth2 登入:您必須根據 OAuth2 通訊協定授權登入 Azure。
執行命令之後,您可以從下列記錄訊息中看到部署成功:
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-15-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:N/A
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
輸出 應用程式 URL 是存取 todo 應用程式的端點。
現在已備妥雲端環境,應用程式即可部署。 使用下列命令部署應用程式:
az spring app deploy \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--artifact-path web/target/simple-todo-web.jar
2. 準備 Spring 專案
雖然您在後續步驟中使用 Azure 入口網站,但您必須使用Bash命令行在本機準備專案。 使用下列步驟在本機複製並執行應用程式:
使用下列命令從 GitHub 複製範例專案:
git clone https://github.com/Azure-Samples/ASA-Samples-Web-Application.git
使用下列命令以 Maven 建置範例專案:
cd ASA-Samples-Web-Application
./mvnw clean package
使用下列命令來執行範例應用程式:
java -jar web/target/simple-todo-web.jar
在瀏覽器中移至 http://localhost:8080 以存取應用程式。
使用下列步驟,從 Azure 開發人員 CLI 樣本初始化 Web 應用程式:
開啟終端機、建立空白資料夾,然後將目錄變更為它。
使用下列命令來初始化專案:
azd init --template https://github.com/Azure-Samples/ASA-Samples-Web-Application
下列清單描述命令互動:
-
輸入新的環境名稱:提供環境名稱,以作為建立以保存所有 Azure 資源之資源群組的後綴。 此名稱應該在您的 Azure 訂用帳戶內是唯一的。
主控台會輸出類似下列範例的訊息:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Please enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3.準備雲端環境
執行此範例所需的主要資源是 Azure Spring Apps 實例和 適用於 PostgreSQL 的 Azure 資料庫 實例。 本節提供建立這些資源的步驟。
本節使用 [部署至 Azure] 按鈕,在 Azure 入口網站 中啟動部署體驗。 此體驗會使用 ARM範本 來建立 Azure 資源。
3.1. 登入 Azure 入口網站
移至 Azure 入口網站,然後輸入您的認證以登入入口網站。 預設檢視是您的服務儀表板。
3.2. 建立 Azure 資源
使用下列步驟來建立應用程式相依的所有 Azure 資源:
選取下列 [部署至 Azure] 按鈕,以在 Azure 入口網站 中啟動部署體驗:
填寫 [基本] 索引卷標上的窗體。使用下表做為完成窗體的指南:
| 設定 |
建議的值 |
描述 |
|
訂用帳戶 |
您的訂閱名稱。 |
您要用於伺服器的 Azure 訂用帳戶。 如果您有多個訂用帳戶,請選擇您想要針對資源計費的訂用帳戶。 |
|
資源群組 |
myresourcegroup |
新的資源群組名稱,或您訂用帳戶中現有的資源群組名稱。 |
|
區域 |
最接近用戶的區域。 |
區域可用來建立資源群組。 |
|
Postgre SQL 管理員密碼 |
N/A |
PostgreSQL 伺服器管理員的密碼。 |
|
Postgre SQL 用戶密碼 |
N/A |
PostgreSQL 應用程式使用者的密碼,用於應用程式。 |
選取 [檢閱並建立] 以檢閱您的選取項目。 然後選取 [建立] 將應用程式部署至 Azure Spring Apps。
在工具列上,選取 [通知] 圖示 (鈴鐺) 以監視部署程序。 部署完成之後,您可以選取 [釘選到儀錶板],這會在 Azure 入口網站 儀錶板上建立此服務的圖格,作為服務的 [概觀] 頁面的快捷方式。 選取 [移至資源 ] 以開啟服務的 [概 觀 ] 頁面。
使用下列步驟來建立 Azure Spring Apps 實例和 適用於 PostgreSQL 的 Azure 資料庫 實例:
3.1. 登入 Azure 入口網站
移至 Azure 入口網站,然後輸入您的認證以登入入口網站。 預設檢視是您的服務儀表板。
3.2. 建立 Azure Spring Apps 執行個體
使用下列步驟來建立服務實例:
選取 入口網站角落的 [建立資源 ]。
選取 [計算>Azure Spring Apps]。
填寫 [基本] 索引卷標上的窗體。使用下表做為完成窗體的指南:
| 設定 |
建議的值 |
描述 |
|
訂用帳戶 |
您的訂閱名稱。 |
您要用於伺服器的 Azure 訂用帳戶。 如果您有多個訂用帳戶,請選擇您想要針對資源計費的訂用帳戶。 |
|
資源群組 |
myresourcegroup |
新的資源群組名稱,或您訂用帳戶中現有的資源群組名稱。 |
|
名稱 |
myasa |
識別 Azure Spring Apps 服務的唯一名稱。 名稱長度必須為 4 到 32 個字元,且只能包含小寫字母、數字及連字號。 服務名稱的第一個字元必須是字母,且最後一個字元必須是字母或數字。 |
|
計劃 |
基本 |
定價方案會決定與您的實例相關聯的資源和成本。 |
|
區域 |
最接近用戶的區域。 |
最靠近您使用者的位置。 |
|
區域備援 |
未選取 |
是否要在 Azure 可用性區域中建立 Azure Spring Apps 服務。 目前,此功能僅在某些區域中受到支援。 |
選取 [檢閱並建立] 以檢閱您的選取項目。 然後,選取 [建立] 以布建 Azure Spring Apps 實例。
在工具列上,選取 [通知] 圖示 (鈴鐺) 以監視部署程序。 部署完成之後,您可以選取 [釘選到儀錶板],這會在 Azure 入口網站 儀錶板上建立此服務的圖格,作為服務的 [概觀] 頁面的快捷方式。 選取 [移至資源 ] 以開啟服務的 [概 觀 ] 頁面。
3.3. 準備 PostgreSQL 實例
使用下列步驟建立 適用於 PostgreSQL 的 Azure 資料庫 伺服器:
在 Azure 入口網站中,選取 [建立資源]。
選取 [資料庫> 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器]。
在 [基本] 索引標籤中填寫下列資訊:
-
伺服器名稱: my-demo-pgsql
-
區域: 美國東部
-
PostgreSQL 版本: 14
-
工作負載類型: 開發
-
啟用高可用性:未選取
-
驗證方法: 僅 PostgreSQL 驗證
-
管理員用戶名稱: myadmin
-
密碼 和 確認密碼:輸入密碼。
使用下列資訊設定 [ 網络] 索引 標籤:
-
線上方法: 公用存取(允許的IP 位址)
-
允許從 Azure 內的任何 Azure 服務公開存取此伺服器:選取
選取 [ 檢閱 + 建立 ] 以檢閱您的選取專案,然後選取 [ 建立 ] 以布建伺服器。 這項作業可能需要幾分鐘的時間。
前往您 Azure 入口網站上的 [PostgreSQL 伺服器]。
從導覽功能表中選取 [資料庫 ] 以建立資料庫 ,例如 Todo。
3.4. 將應用程式實例連線至 PostgreSQL 實例
使用下列步驟來連線服務實例:
在 Azure 入口網站中,移至您的 Azure Spring Apps 執行個體。
從瀏覽窗格中,開啟 [ 應用程式 ] 窗格,然後選取 [ 建立應用程式]。
在 [ 建立應用程式] 頁面上,針對應用程式名稱,使用 simple-todo-web 並針對運行時間平臺,選取 [Java 17]。
選取 [建立 ] 以完成應用程式建立,然後選取應用程式以檢視詳細數據。
從瀏覽窗格中選取 [服務連接器 ],然後選取 [ 建立 ] 以建立新的服務連線。
在 [基本] 索引標籤中填寫下列資訊:
-
服務類型: 適用於 PostgreSQL 的 DB 彈性伺服器
-
線上名稱:填入可修改的自動產生名稱。
-
訂用帳戶︰選取您的訂用帳戶。
-
PostgreSQL 彈性伺服器: my-demo-pgsql
-
PostgreSQL 資料庫:選取您建立的資料庫。
-
用戶端類型: SpringBoot
使用下列資訊設定 [ 下一步:驗證 ] 索引標籤:
-
選取您想要在計算服務和目標服務之間使用的驗證類型。:選取 [連接字元串]。
-
繼續...:選取 [資料庫認證]。
-
用戶名稱: myadmin
-
密碼:輸入您的密碼。
選取 [下一步:網路]。 使用預設選項 [設定防火牆規則] 來啟用目標服務的存取。
選取 [下一步:檢閱和建立 ] 以檢閱您的選取專案,然後選取 [ 建立 ] 以建立連線。
使用下列步驟來建立 Azure Spring Apps 實例和 適用於 PostgreSQL 的 Azure 資料庫 實例:
使用下列命令以 OAuth2 登入 Azure。 如果您已經登入,請忽略此步驟。
azd auth login
主控台會輸出類似下列範例的訊息:
Logged in to Azure.
使用下列命令以標準機制設定範本:
azd env set PLAN standard
使用下列命令將範本的基礎結構布建至 Azure:
azd provision
下列清單描述命令互動:
-
請選取要使用的 Azure 訂用帳戶:使用箭號移動、輸入篩選,然後按 ENTER。
-
請選取要使用的 Azure 位置:使用箭號移動、輸入篩選,然後按 ENTER。
主控台會輸出類似下列範例的訊息:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
注意
此命令可能需要一些時間才能完成。 您會在布建 Azure 資源時看到進度指示器。
4.將應用程式部署至 Azure Spring Apps
上一節中的 [部署至 Azure] 按鈕會啟動包含應用程式部署的 Azure 入口網站 體驗,因此不需要其他任何專案。
您現在可以將應用程式部署至 Azure Spring Apps。
使用下列步驟搭配適用於 Azure Spring Apps 的 Maven 外掛程式進行部署:
瀏覽至範例項目目錄,然後執行下列命令以在 Azure Spring Apps 中設定應用程式:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
下列清單描述命令互動:
-
選取要設定的子模組:選取要設定的 模組,然後輸入 SimpleTodo Web 模組的數目。
-
OAuth2 登入:根據 OAuth2 通訊協定授權登入 Azure。
-
選取訂用帳戶:選取您所建立之 Azure Spring Apps 實例的訂用帳戶清單編號,預設為清單中的第一個訂用帳戶。 如果您使用預設號碼,請直接按 ENTER 。
-
選取 [Azure Spring Apps:選取您所建立的 Azure Spring Apps 實例數目]。 如果您使用預設號碼,請直接按 ENTER 。
-
公開此應用程式的公用存取?:按 y。
-
確認儲存上述所有組態 (Y/n):按 y。 如果您按下 n,則組態不會儲存在 POM 檔案中。
使用下列命令部署應用程式:
./mvnw azure-spring-apps:deploy
下列清單描述命令互動:
-
OAuth2 登入:您必須根據 OAuth2 通訊協定授權登入 Azure。
執行命令之後,您可以從下列記錄訊息中看到部署成功:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
輸出 應用程式 URL 是存取 todo 應用程式的端點。
您現在可以將應用程式部署至 Azure Spring Apps。 使用下列步驟來封裝應用程式、布建 Web 應用程式所需的 Azure 資源,然後部署至 Azure Spring Apps:
使用下列命令封裝應用程式的可部署複本:
azd package
主控台會輸出類似下列範例的訊息:
SUCCESS: Your application was packaged for Azure in xx seconds.
使用下列命令,將應用程式程式代碼部署到那些新佈建的資源:
azd deploy
主控台會輸出類似下列範例的訊息:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io/
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
輸出 端點 是存取 todo 應用程式的端點。
5.驗證 Web 應用程式
現在您可以存取已部署的應用程式,以查看它是否正常運作。
使用下列步驟來驗證:
部署完成之後,您可以從部署輸出找到應用程式 URL:
使用輸出應用程式 URL 存取應用程式。 當您在localhost中看到時,頁面應該會顯示。
檢查每個資源部署的詳細數據,這適用於調查任何部署問題。
使用輸出應用程式 URL 存取應用程式。 當您在localhost中看到時,頁面應該會顯示。
使用下列步驟來驗證:
部署完成之後,您可以使用下列URL存取應用程式: https://${AZURE_SPRING_APPS_NAME}-${APP_NAME}.azuremicroservices.io/。 當您在localhost中看到時,頁面應該會顯示。
若要檢查應用程式的記錄以調查任何部署問題,請使用下列命令:
az spring app logs \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME}
使用下列步驟來驗證:
部署完成之後,從部署輸出中尋找應用程式 URL:
存取應用程式 URL。 當您在localhost中看到時,頁面應該會顯示。
檢查每個資源部署的詳細數據,這適用於調查任何部署問題。
使用輸出應用程式 URL 存取應用程式。 當您在localhost中看到時,頁面應該會顯示。
使用輸出端點存取應用程式。 當您在localhost中看到時,頁面應該會顯示。
6.清除資源
當您不再需要資源時,請務必刪除您在本文中建立的資源。 您可以刪除 Azure 資源群組,其中包括資源群組中的所有資源。
使用下列步驟來刪除整個資源群組,包括新建立的服務實例:
在 Azure 入口網站中找出您的資源群組。 在導覽功能表上,選取 [資源群組],然後選取資源群組的名稱。
在 [ 資源群組] 頁面上,選取 [ 刪除]。 在文字框中輸入資源群組的名稱以確認刪除,然後選取 [ 刪除]。
使用下列步驟來刪除整個資源群組,包括新建立的服務實例:
在 Azure 入口網站中找出您的資源群組。 在導覽功能表上,選取 [資源群組],然後選取資源群組的名稱。
在 [ 資源群組] 頁面上,選取 [ 刪除]。 在文字框中輸入資源群組的名稱以確認刪除,然後選取 [ 刪除]。
使用下列命令來移除此範例應用程式中使用的所有 Azure 資源:
azd down
下列清單描述命令互動:
-
要刪除的資源總數: <resources-total>,您確定要繼續嗎?:按 y。
主控台會輸出類似下列範例的訊息:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
使用下列步驟來刪除整個資源群組,包括新建立的服務實例:
在 Azure 入口網站中找出您的資源群組。 在導覽功能表上,選取 [資源群組],然後選取資源群組的名稱。
在 [ 資源群組] 頁面上,選取 [ 刪除]。 在文字框中輸入資源群組的名稱以確認刪除,然後選取 [ 刪除]。
使用下列步驟來刪除整個資源群組,包括新建立的服務實例:
在 Azure 入口網站中找出您的資源群組。 在導覽功能表上,選取 [資源群組],然後選取資源群組的名稱。
在 [ 資源群組] 頁面上,選取 [ 刪除]。 在文字框中輸入資源群組的名稱以確認刪除,然後選取 [ 刪除]。
使用下列命令來刪除整個資源群組,包括新建立的服務:
az group delete --name ${RESOURCE_GROUP}
7. 後續步驟
如需詳細資訊,請參閱下列文章: