132 lines
4.0 KiB
YAML
132 lines
4.0 KiB
YAML
# 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'
|
|
|
|
|
|
|
|
|