【Azure DevOps系列】使ASP.NET Core应用程序托管到Azure Web App Service

使用Azure DevOps Project设置ASP.NET项目

file

我们需要先在Azure面板中创建一个Azure WebApp服务,此处步骤我将省略,然后点击部署中心如下图所示:

file

此处我选择的是Azure Repos,当然大家也可以选择GithubLocal GitFTP

file
我们需要提前在Azure DevOps中提前创建好应用程序,我这边已经提前创建好了名称为Blog
.
file

创建完后我们会在Azure DevOps Pipeline中看到默认为我们生成的管道信息,他是一个构建刚才那个应用程序并发布的过程。这个过程还是挺方便的,省去了我们一些的配置直接将这些给我们配置好,当然CD其实也配置好了,最终这个应用程序会发布到我们在在这之前创建的Azure WebApp中。

file

file

通过如下该图我们可以看到已经可以访问通了,虽然
为错误页面其实也没关系的,是因为我数据库一些信息未进行配置,现在呢我们已经将应用程序部署到Azure WebApp中了。当然CI和CD规则我们也可以将其进行修改的。

file

我们来看看管道的默认配置,默认的构建过程如下图所示。

file

下面代码片段是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任务会发布并并打包应用程序,我们可以在下图所示页面中进行下载发布后的应用程序。

file

posted @   HueiFeng  阅读(590)  评论(0编辑  收藏  举报
编辑推荐:
· .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语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示