# 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 variables: solution: '**/*.sln' buildPlatform: 'Any CPU' buildConfiguration: 'Release' pool: vmImage: 'ubuntu-latest' stages: - stage: Build jobs: - job: LinuxBuild displayName: 'Build on Linux' pool: vmImage: 'ubuntu-latest' steps: - task: UseDotNet@2 inputs: packageType: 'sdk' version: '9.0.x' - task: NodeTool@0 inputs: versionSource: 'spec' versionSpec: '20.x' - task: PowerShell@2 displayName: 'Run Make File' inputs: filePath: 'make.ps1' arguments: '-OutputDir $(Build.ArtifactStagingDirectory)-linux' - task: ArchiveFiles@2 displayName: 'Archive Web Artifact' inputs: rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-linux/web' includeRootFolder: true archiveType: 'zip' archiveFile: '$(Build.ArtifactStagingDirectory)-linux/$(Build.BuildId)/web.zip' replaceExistingArchive: true - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact' inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)-linux/$(Build.BuildId)/web.zip' ArtifactName: 'drop-linux-web' publishLocation: 'Container' - task: ArchiveFiles@2 displayName: 'Archive Migration Artifact' inputs: rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-linux/migration' includeRootFolder: true archiveType: 'zip' archiveFile: '$(Build.ArtifactStagingDirectory)-linux/$(Build.BuildId)/migration.zip' replaceExistingArchive: true - task: PublishBuildArtifacts@1 displayName: 'Publish Migration Artifact' inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)-linux/$(Build.BuildId)/migration.zip' ArtifactName: 'drop-linux-migration' publishLocation: 'Container' - job: WindowsBuild displayName: 'Build on Windows' condition: ne(variables['Build.Reason'], 'PullRequest') pool: vmImage: 'windows-latest' # Specify the Windows agent steps: - task: UseDotNet@2 inputs: packageType: 'sdk' version: '9.0.x' - task: NodeTool@0 inputs: versionSource: 'spec' versionSpec: '20.x' - task: PowerShell@2 displayName: 'Run Make File' inputs: filePath: 'make.ps1' arguments: '-OutputDir $(Build.ArtifactStagingDirectory)-windows' - task: ArchiveFiles@2 displayName: 'Archive Web Artifact' inputs: rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-windows/web' includeRootFolder: true archiveType: 'zip' archiveFile: '$(Build.ArtifactStagingDirectory)-windows/$(Build.BuildId)/web.zip' replaceExistingArchive: true - task: PublishBuildArtifacts@1 displayName: 'Archive Migration Artifact' inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)-windows/$(Build.BuildId)/web.zip' ArtifactName: 'drop-windows-web' publishLocation: 'Container' - task: ArchiveFiles@2 displayName: 'Archive Migration Artifact' inputs: rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-windows/migration' includeRootFolder: true archiveType: 'zip' archiveFile: '$(Build.ArtifactStagingDirectory)-windows/$(Build.BuildId)/migration.zip' replaceExistingArchive: true - task: PublishBuildArtifacts@1 displayName: 'Publish Migration Artifact' inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)-windows/$(Build.BuildId)/migration.zip' ArtifactName: 'drop-windows-migration' publishLocation: 'Container'