Topic 2 Question 14
3 mins read

Topic 2 Question 14


📌 Giải đề HOTSPOT: Triển khai Java Web App từ GitHub lên Azure với Deployment Slot


1. Phân tích đề bài

Công ty đang phát triển một Java web app và lưu mã nguồn trên GitHub.

  • Yêu cầu chính: ✅ Triển khai ứng dụng lên Azure Web App.
    Tạo Deployment Slot staging để đánh giá trước khi đưa lên Production.
    Tự động triển khai mã từ GitHub repository (https://github.com/Contoso/webapp).

Bạn cần hoàn thành các lệnh CLI theo đúng thứ tự để tạo Web App và triển khai mã.


2. Các bước thực hiện đúng

1️⃣ Tạo Resource Group

az group create --location centralus --name $resourcegroupname

Tạo Resource Group để chứa tất cả tài nguyên liên quan.

2️⃣ Tạo Web App Plan

az appservice plan create --name $webappname --resource-group $resourcegroupname --sku S3

Chọn SKU S3 vì Shared/Free tier không hỗ trợ Deployment Slots.

3️⃣ Tạo Web App trong App Service Plan

az webapp create --name $webappname --resource-group $resourcegroupname --plan $webappname

Tạo Web App và liên kết với App Service Plan đã tạo.

4️⃣ Tạo Deployment Slot staging

az webapp deployment slot create --name $webappname --resource-group $resourcegroupname --slot staging

Tạo Deployment Slot để triển khai trước khi đưa lên Production.

5️⃣ Cấu hình Web App để triển khai từ GitHub

az webapp deployment source config --name $webappname --resource-group $resourcegroupname \
  --slot staging --repo-url $gitrepo --branch master --manual-integration

Liên kết Web App với GitHub repo ($gitrepo) và chỉ định branch master.


3. Đáp án chính xác

Thứ tựLệnh CLI đúng
1️⃣az group create --location centralus --name $resourcegroupname
2️⃣az appservice plan create --name $webappname --resource-group $resourcegroupname --sku S3
3️⃣az webapp create --name $webappname --resource-group $resourcegroupname --plan $webappname
4️⃣az webapp deployment slot create --name $webappname --resource-group $resourcegroupname --slot staging
5️⃣az webapp deployment source config --name $webappname --resource-group $resourcegroupname --slot staging --repo-url $gitrepo --branch master --manual-integration

4. Tại sao không chọn các đáp án khác?

Lệnh CLILý do không chọn
az appservice plan create --sku FREE❌ Free tier không hỗ trợ Deployment Slots.
az webapp create --sku S1❌ SKU S1 không tối ưu bằng S3 cho staging & auto-scale.
az webapp deployment source config (không có --slot staging)❌ Nếu không chỉ định --slot staging, mã sẽ được triển khai trực tiếp lên Production.

5. Kết luận

Thứ tự đúng để triển khai Java Web App lên Azure với Deployment Slot:

  1. Tạo Resource Group.
  2. Tạo App Service Plan (S3).
  3. Tạo Web App trong App Service Plan.
  4. Tạo Deployment Slot staging.
  5. Cấu hình Web App để triển khai từ GitHub vào staging.

🔥 Đây là cách triển khai tốt nhất để kiểm tra code trước khi lên Production trong Azure Web App! 🚀

Leave a Reply

Your email address will not be published. Required fields are marked *