You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
4.7 KiB
128 lines
4.7 KiB
# 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'
|