Azure App Service(一)利用Azure DevOps Pipeline 構建映象,部署應用程式

Grant_Allen發表於2021-04-05

一,引言

  起因是前兩天專案上做測試,需要我把寫好的基於.NET 5 的 Web 測試程式作成 Docker 映象。當我在本地驗證完功能後,準備利用 Docker 構建應用程式映象的時候,發現系統不支援安裝 Docker Desktop。這下看來只能利用Azure DevOps 自動建立 Docker 映象了,學以致用嘛!

二,正文

1,建立 Azure Container Registry 服務

前置條件,我們得先手動建立 映象儲存庫。我們登入到 Azure Portal 上,點選 “Create a resource”,搜尋 “Container Registry”

輸入相關引數

Registry name:“appconfig”

Location:‘Asia“

SKU:”Basic“

再次檢查一下輸入或者選擇的引數,並且點選 ”Review + create“

建立前的預校驗完成後,點選 ”Create“ 建立 Azure Container Registry

等待建立完成後,我們就可以轉到資源檢視當前 Container Registry 的相關資訊了 

2,Azure DevOps 設定Pipeline

首先得先建立一個新的專案 ”CnBateBlogWeb“

Project name:”CnBateBlogWeb“

 

建立完專案後,選擇 Pipeline ,點選 ”Create Pipeline“

選擇 ”GitHub YAML“(根據自己實際的專案儲存的程式碼庫選擇

連線到自己的測試程式碼所在的 github 賬號,作為演示,選擇 "CnBateBlogWeb" 的程式碼庫

接下啦,我們需要配置當前pipeline,目前我們需要選擇先構建專案,然將 images 推動到 Azure Container Registry,

如果找到相似的模板,需要點選箭頭所指的地方 ”Show more“ 展示更多

選擇 Docker (Build and push an images to Azure Container Registry)

選擇 Azure 訂閱

填寫相關引數

Container registry 選擇:”appconfig“

Image Name :”cnbateblogweb.net.demo“

點選 ”Validate and configure“ 驗證和配置 pipeline.yaml 

Azure DevOps 為我們生成好了 pipeline 的配置項(配置內容不是今天文章講解的重點),點選 ”Save and run“

點選 ”Run“

等下構建中,我們可以通過日誌檢視當前構建資訊

等構建完成後,我們回到Azure Portal 中檢視當前儲存庫中的映象資訊,選擇 "Services =》Repositories"

當前映象的詳細資訊(Tags 等於3,是因為我在執行Azure DevOps 的Pipeline 的時候,取消了兩次構建,並且Tag 為當前Pipeline 的Build.BuildId

最後,我們需要配置開啟使用 ”username“ & ”password“ 作為docker 的登入資訊登入到 Azure Container Registry 上

選擇 ”Setting =》Access keys“,開啟 ”Admin user“

3,部署 Images 到 Azure Web App

Azure Portal 選擇 "Web App",並輸入相關引數

Name:”cnbateblogweb“

Publish 選擇:”Docker Container“

Operation System:”Linux“

Region:”East Asia“

Sku and size :如果是測試、學習,儘量免費的

配置完相關引數後,點選 ”Next:Docker“

Image Source 選擇 :”Azure Container Registry“

Registry 選擇:”appconfig“

Image 選擇:”cnbateblogwebnetdemo“

Tag 選擇:”3“

輸入完相關引數後,點選 ”Review + create“

點選 ”Create“ 進行建立

等待建立完成後,點選 ”Go to resource“ 轉到該資源

接下來,我們需要配置環境變數引數 "Location",“ASPNETCORE_ENVIRONMENT”,“WEBSITES_PORT”

注意:"Location",“ASPNETCORE_ENVIRONMENT” 是我們應用程式中需要使用到的,而 "WEBSITES_PORT" 是需要自定義映象對映使用的埠 “9021”

配置完 Azure App Service 的環境變數後,我們複製 URL 在瀏覽器中嘗試訪問

OK,成功!!!!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。?‍??‍??‍??‍??‍?

三,結尾

  Azure App Service 支援程式碼和Docker 兩種部署模式,結合目前日益火熱的 容器化技術,我們不能落後,今天就利用Azure DevOps 持續構建應用程式的Docker Images,並且將映象推送到Azure Container Registry 中,最後利用 Azure App Sevice 的Docker 部署模式部署示例程式。整個過程還是很有學習價值的,大家也要多多練習。本文所分享的內容也存在著很多我自己的一些理解,有理解不到位的,還希望多多包涵,並且指出不足之處。

參考資料:Azure Pipeline自定義容器部署

作者:Allen 

版權:轉載請在文章明顯位置註明作者及出處。如發現錯誤,歡迎批評指正。

相關文章