# 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 variables: netCoreSdkVersion: '3.1.201' buildConfiguration: 'Release' productVersion: '7.0.4' jobs: - job: macOS pool: vmImage: 'macOS-10.15' steps: - task: UseDotNet@2 inputs: version: $(netCoreSdkVersion) - task: NodeTool@0 inputs: versionSpec: '12.x' - script: npm install - script: npm run build-osx-x64 - script: dotnet build ./build-osx-x64/build.sln -c $(buildConfiguration) - script: dotnet publish ./build-osx-x64/src/SSCMS.Cli/SSCMS.Cli.csproj -c $(buildConfiguration) -o ./publish/sscms-$(productVersion)-osx-x64 - script: dotnet publish ./build-osx-x64/src/SSCMS.Web/SSCMS.Web.csproj -c $(buildConfiguration) -o ./publish/sscms-$(productVersion)-osx-x64 - script: npm run copy-osx-x64 - task: ArchiveFiles@2 inputs: rootFolderOrFile: './publish/sscms-$(productVersion)-osx-x64' archiveType: 'zip' includeRootFolder: false archiveFile: './publish/dist/sscms-$(productVersion)-osx-x64.zip' - script: npm run publish-osx-x64-zip - task: PublishPipelineArtifact@1 inputs: targetPath: './publish/dist' artifactName: 'sscms-$(productVersion)-osx' - job: Linux pool: vmImage: 'Ubuntu 16.04' steps: - task: UseDotNet@2 inputs: version: $(netCoreSdkVersion) - task: NodeTool@0 inputs: versionSpec: '12.x' - script: npm install - script: npm run build-linux-x64 - script: dotnet build ./build-linux-x64/build.sln -c $(buildConfiguration) - script: dotnet publish ./build-linux-x64/src/SSCMS.Cli/SSCMS.Cli.csproj -c $(buildConfiguration) -o ./publish/sscms-$(productVersion)-linux-x64 - script: dotnet publish ./build-linux-x64/src/SSCMS.Web/SSCMS.Web.csproj -c $(buildConfiguration) -o ./publish/sscms-$(productVersion)-linux-x64 - script: npm run copy-linux-x64 - task: ArchiveFiles@2 inputs: rootFolderOrFile: './publish/sscms-$(productVersion)-linux-x64' archiveType: 'tar' tarCompression: 'gz' includeRootFolder: false archiveFile: './publish/dist/sscms-$(productVersion)-linux-x64.tar.gz' - script: npm run publish-linux-x64-tgz - task: ArchiveFiles@2 inputs: rootFolderOrFile: './publish/sscms-$(productVersion)-linux-x64' archiveType: 'zip' includeRootFolder: false archiveFile: './publish/dist/sscms-$(productVersion)-linux-x64.zip' - script: npm run publish-linux-x64-zip - task: PublishPipelineArtifact@1 inputs: targetPath: './publish/dist' artifactName: 'sscms-$(productVersion)-linux' - job: Windows pool: vmImage: 'windows-2019' steps: - task: UseDotNet@2 inputs: version: $(netCoreSdkVersion) - task: NodeTool@0 inputs: versionSpec: '12.x' - script: npm install - script: npm run build-win-x64 - task: NuGetCommand@2 inputs: command: 'restore' restoreSolution: './build-win-x64/build.sln' feedsToUse: 'select' - script: dotnet build ./build-win-x64/build.sln -c $(buildConfiguration) - script: dotnet publish ./build-win-x64/src/SSCMS.Cli/SSCMS.Cli.csproj -c $(buildConfiguration) -o ./publish/sscms-$(productVersion)-win-x64 - script: dotnet publish ./build-win-x64/src/SSCMS.Web/SSCMS.Web.csproj -c $(buildConfiguration) -o ./publish/sscms-$(productVersion)-win-x64 - script: npm run copy-win-x64 - script: npm run build-win-x86 - task: NuGetCommand@2 inputs: command: 'restore' restoreSolution: './build-win-x86/build.sln' feedsToUse: 'select' - script: dotnet build ./build-win-x86/build.sln -c $(buildConfiguration) - script: dotnet publish ./build-win-x86/src/SSCMS.Cli/SSCMS.Cli.csproj -c $(buildConfiguration) -o ./publish/sscms-$(productVersion)-win-x86 - script: dotnet publish ./build-win-x86/src/SSCMS.Web/SSCMS.Web.csproj -c $(buildConfiguration) -o ./publish/sscms-$(productVersion)-win-x86 - script: npm run copy-win-x86 - task: ArchiveFiles@2 inputs: rootFolderOrFile: './publish/sscms-$(productVersion)-win-x64' archiveType: 'zip' includeRootFolder: false archiveFile: './publish/dist/sscms-$(productVersion)-win-x64.zip' - script: npm run publish-win-x64-zip - task: ArchiveFiles@2 inputs: rootFolderOrFile: './publish/sscms-$(productVersion)-win-x86' archiveType: 'zip' includeRootFolder: false archiveFile: './publish/dist/sscms-$(productVersion)-win-x86.zip' - script: npm run publish-win-x86-zip - task: PublishPipelineArtifact@1 inputs: targetPath: './publish/dist' artifactName: 'sscms-$(productVersion)-win'