

📌 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 Slotstaging
để đá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 CLI | Lý 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:
- Tạo Resource Group.
- Tạo App Service Plan (
S3
). - Tạo Web App trong App Service Plan.
- Tạo Deployment Slot
staging
. - 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! 🚀