Compilar aplicativos ASP.NET com o .NET Framework

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Este artigo descreve como criar um projeto do .NET Framework com o Azure Pipelines. Para projetos do .NET Core, consulte Compilar, testar e implantar aplicativos do .NET Core.

Criar um projeto do Azure DevOps

  1. Em sua organização ou coleção do Azure DevOps, selecione Novo projeto ou Criar projeto.
  2. Insira um Nome de projeto.
  3. Selecione a Visibilidade do seu projeto.
  4. Selecione Criar.

Obter o aplicativo de exemplo

O aplicativo de exemplo é uma solução do Visual Studio que usa o .NET 4.8. Para obter o aplicativo, bifurque o repositório GitHub em:

https://github.com/Azure-Samples/app-service-web-dotnet-get-started

Criar e criar o pipeline

Depois de ter o código de exemplo em seu próprio repositório, crie um pipeline em seu projeto do Azure DevOps usando as instruções em Criar seu primeiro pipeline.

Selecione o modelo ASP.NET . Essa opção adiciona automaticamente o arquivo azure-pipelines.yml com as tarefas necessárias para criar o código no repositório de exemplo. O modelo inclui a tarefa VSTest@2 para executar testes. O repositório de exemplo não contém testes, portanto, você pode remover a tarefa VSTest@2 do pipeline.

Seu pipeline deve ser semelhante ao exemplo a seguir:

# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4

trigger:
- main

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4

trigger:
- main

pool: 
  name: default

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

Selecione Salvar e executar e selecione Trabalhos para ver o pipeline em ação.

Para publicar os artefatos de build, adicione a seguinte tarefa ao final do arquivo YAML:

- task: PublishPipelineArtifact@1
  inputs:
    targetPath: '$(Pipeline.Workspace)'
    artifact: 'myartifact'
    publishLocation: 'pipeline'

- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: '$(Build.ArtifactStagingDirectory)'
    artifactName: drop

Ambiente de build

Você pode usar o Azure Pipelines para compilar seus projetos do .NET Framework sem precisar configurar uma infraestrutura própria. Os agentes hospedados pela Microsoft no Azure Pipelines têm várias versões lançadas do Visual Studio pré-instaladas para ajudá-lo a criar seus projetos. Use windows-2022 para Windows Server 2022 com Visual Studio 2022.

Você também pode usar um agente auto-hospedado para executar suas compilações. Usar um agente auto-hospedado é útil se você tiver um repositório grande e quiser evitar o download do código-fonte para uma nova máquina para cada compilação.

Suas compilações são executadas em um agente auto-hospedado. Verifique se você tem a versão necessária do Visual Studio instalada no agente.

Criar várias configurações de Build

Talvez seja necessário criar seu aplicativo em várias configurações. As etapas a seguir criam o aplicativo de exemplo em quatro configurações: Debug, x86, Debug, x64, Release, x86e Release, x64.

  1. Na interface do usuário do pipeline, selecione a guia Variáveis e modifique as seguintes variáveis:

    • BuildConfiguration = debug, release
    • BuildPlatform = x86, x64
  2. Selecione Tarefas e, em seguida, selecione o trabalho do agente para alterar as seguintes opções para o trabalho:

    • Selecione Várias configurações.
    • Especifique multiplicadores: BuildConfiguration, BuildPlatform
  3. Selecione Paralelo se você tiver vários agentes de build e deseje criar seus emparelhamentos de configuração/plataforma em paralelo.

Restaurar dependências

Você pode usar a tarefa NuGet para instalar e atualizar as dependências do pacote NuGet. Você também pode usar a tarefa NuGet para baixar pacotes NuGet de Azure Artifacts, NuGet.org ou outros repositórios NuGet externos ou internos.

O exemplo a seguir restaura uma solução de um feed no escopo do projeto na mesma organização.

- task: NuGetCommand@2
  inputs:
    command: 'restore'
    feedsToUse: 'select'
    vstsFeed: 'my-project/my-project-scoped-feed'
    includeNuGetOrg: false
    restoreSolution: '**/*.sln'