使用Github部署Azure应用服务
上次我們介紹了如果使用Azure應用服務(不用虛機不用Docker使用Azure應用服務部署ASP.NET Core程序)。我們通過Visual studio新建一個項目后手動編譯發布代碼。然后通過FTP上傳我們的發布文件。整個過程跟我們手動發布項目到IIS上其實沒啥差別。這么操作有點繁瑣,顯然在這年頭也有點過時了。這次我們來玩一下azure應用比較高級的持續部署。說高級其實也很簡單,Azure現在跟github有比較深入的集成,只有通過鼠標點幾下,立馬就完成了。話不多說,下面就演示下吧。
配置部署中心
如何新建應用服務因為前面講過了就不在贅述了。直接從配置部署中心開始吧。
點擊側邊“部署中心”,在彈出的頁面上選擇“Github”。
點擊“繼續”彈出github授權界面。
點擊“Authorize AzureAppService”同意授權。
點擊“下一步”配置生成提供程序,選擇“Github Actions”。
點擊“下一步”彈出配置界面,這個頁面可以選擇github上的倉庫。我隨便選一個以前提交上去的RazorpageCrudDemo吧。分支選擇master。運行時堆棧選擇:.net core,版本 .net core 3.1 lts 。
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy # More GitHub Actions for Azure: https://github.com/Azure/actions name: Build and deploy ASP.Net Core app to Azure Web App - az-app-service-01 on:push:branches:- master jobs:build-and-deploy:runs-on: ubuntu-lateststeps:- uses: actions/checkout@master- name: Set up .NET Coreuses: actions/setup-dotnet@v1with:dotnet-version: '3.1.102'- name: Build with dotnetrun: dotnet build --configuration Release- name: dotnet publishrun: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp- name: Deploy to Azure Web Appuses: azure/webapps-deploy@v2with:app-name: 'az-app-service-01'slot-name: 'production'publish-profile: ${{ secrets.AzureAppService_PublishProfile_677a6a0b22a146f8b67ab3e6372bbd60 }}package: ${{env.DOTNET_ROOT}}/myapp點擊“完成”會自動生成一個yml文件。這個yml配置的就是github的action workflow。我們的azure應用服務跟github就是通過它串起來的。
驗證部署
切換到github的actions頁面。會發有一個build and deploy的job正在運行。
等待這個job運行成功后,我們就可以訪問azure應用服務的url地址了。
訪問一下azure應用服務對應的url,出現了asp.net core的默認頁面。說明我們的部署成功了。
在訪問下里面的頁面,也成功渲染出來了。
持續部署(CD)
@page @model IndexModel @{ViewData["Title"] = "Home page"; } <div class="text-center"><h1 class="display-4">Azure App deploy with Github</h1><p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p> </div>既然是持續部署(CD),那么我們嘗試下修改項目的首頁,然后提交代碼,看會不會自動部署代碼。
提交完代碼后,github的actions頁面立馬又出現了一個job。
等待job完成之后,再次訪問azure服務應用的url,果然首頁變成了我們修改的樣子,說明持續部署成功了。
關注我的公眾號一起玩轉技術
總結
以上是生活随笔為你收集整理的使用Github部署Azure应用服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用 C# 中的 Lazy
- 下一篇: ABP的新旧版本选型