如何使用GitHub Action部署ASP.NET Web API(.NET 4.7.2)至Azure
为.NET 4.7.2 ASP.NET Web API配置GitHub Action的Azure发布环节
你可以在现有构建步骤基础上,添加生成发布包和部署到Azure的步骤,以下是完整的GitHub Action工作流配置:
完整工作流代码
name: 构建并部署到Azure on: push: branches: [ main ] # 触发构建的分支,可按需调整 pull_request: branches: [ main ] jobs: build-and-deploy: runs-on: windows-latest # .NET Framework构建依赖Windows环境 steps: - uses: actions/checkout@v3 - name: 配置MSBuild uses: microsoft/setup-msbuild@v1 - name: 配置Nuget.exe uses: Nuget/Setup-nuget@v1.0.2 - name: 还原Nuget包 run: nuget restore solution.sln - name: 构建并生成发布包 run: msbuild solution.sln /p:Configuration=Release /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation=".\publish" # 参数说明: # /p:Configuration=Release 用Release模式构建 # /p:DeployOnBuild=true 启用构建时自动生成部署包 # /p:WebPublishMethod=Package 指定生成Web部署zip包 # /p:PackageAsSingleFile=true 将所有部署内容打包为单个zip文件 # /p:PackageLocation 设置包的输出路径 - name: 部署到Azure Web App uses: azure/webapps-deploy@v2 with: app-name: '你的Azure Web App名称' # 替换为你实际的Azure应用名称 slot-name: 'Production' # 部署槽位,默认用Production即可 publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} # 从GitHub Secrets读取发布配置 package: '.\publish\**\*.zip' # 指定要部署的zip包路径
关键操作说明
1. 生成发布包
通过给msbuild命令添加部署参数,直接让构建过程生成符合Azure要求的zip部署包,无需额外手动打包步骤。
2. 配置Azure部署凭证
- 登录Azure门户,找到你的Web App,进入部署中心 -> 获取发布配置文件,下载该XML文件。
- 打开GitHub仓库的Settings -> Secrets and variables -> Actions,点击New repository secret,命名为
AZURE_WEBAPP_PUBLISH_PROFILE,将下载的发布配置文件内容粘贴进去保存。
3. 完成Azure部署
使用Azure官方的azure/webapps-deploy Action,通过已配置的发布配置文件,自动将生成的zip包部署到指定的Azure Web App中。
内容的提问来源于stack exchange,提问作者Francis john
相关产品推荐
相关产品推荐

