【Azure DevOps系列】使ASP.NET Core应用程序托管到Azure Web App Service
使用Azure DevOps Project设置ASP.NET项目
我们需要先在Azure面板中创建一个Azure WebApp服务,此处步骤我将省略,然后点击部署中心如下图所示:
此处我选择的是Azure Repos,当然大家也可以选择Github
、Local Git
、FTP
我们需要提前在Azure DevOps中提前创建好应用程序,我这边已经提前创建好了名称为Blog
.
创建完后我们会在Azure DevOps Pipeline中看到默认为我们生成的管道信息,他是一个构建刚才那个应用程序并发布的过程。这个过程还是挺方便的,省去了我们一些的配置直接将这些给我们配置好,当然CD其实也配置好了,最终这个应用程序会发布到我们在在这之前创建的Azure WebApp中。
通过如下该图我们可以看到已经可以访问通了,虽然
为错误页面其实也没关系的,是因为我数据库一些信息未进行配置,现在呢我们已经将应用程序部署到Azure WebApp中了。当然CI和CD规则我们也可以将其进行修改的。
我们来看看管道的默认配置,默认的构建过程如下图所示。
下面代码片段是azure-pipelines.yml
文件的相关配置如下所示
# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- master
jobs:
- job: ASPNETCore
pool:
vmImage: 'ubuntu-latest'
steps:
# - task: UseDotNet@2
# inputs:
# packageType: 'sdk'
# version: '3.1.x'
- task: DotNetCoreCLI@2
displayName: Build
inputs:
command: build
projects: '**/*.sln'
arguments: '--configuration Release -p:Version=10.5.$(Build.BuildId)-official'
- task: DotNetCoreCLI@2
displayName: Test
inputs:
command: test
projects: '**/*Tests/*.csproj'
arguments: '--configuration Release'
- task: DotNetCoreCLI@2
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration Release -p:Version=10.5.$(Build.BuildId)-official --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: True
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: 'Drop'
当然在上面步骤中的DotNetCoreCLI@2
任务会发布并并打包应用程序,我们可以在下图所示页面中进行下载发布后的应用程序。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构