pool: vmImage: 'VS2017-Win2016' trigger: branches: include: - master paths: exclude: - README.md variables: solution: '**/*.sln' buildPlatform: 'Any CPU' buildConfiguration: 'Release' PackVersion: '1.0.1' PackPushToNuget: True steps: # Install NuGet Tool - task: NuGetToolInstaller@0 displayName: Install NuGet Tool # Restore NuGet packages - task: NuGetCommand@2 displayName: Restore NuGet Packages inputs: restoreSolution: '$(solution)' # Build solution - task: VSBuild@1 displayName: Build Solution inputs: solution: '$(solution)' platform: '$(buildPlatform)' configuration: '$(buildConfiguration)' # Run unit tests - task: VSTest@2 displayName: Run Unit Tests inputs: platform: '$(buildPlatform)' configuration: '$(buildConfiguration)' # Prepare publish files - task: DotNetCoreCLI@2 displayName: Prepare Publish Files inputs: command: publish publishWebProjects: False projects: '**/**/Marco.Caching.csproj' arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)' zipAfterPublish: False # Publish the artifacts - task: PublishBuildArtifacts@1 displayName: Publish Artifacts # Publish Marco.Caching to NuGet.org - task: DotNetCoreCLI@2 displayName: Pack Marco.Caching condition: eq(variables['PackPushToNuget'], 'True') inputs: command: pack packagesToPack: '**/**/Marco.Caching.csproj' versioningScheme: byEnvVar versionEnvVar: PackVersion - task: NuGetCommand@2 displayName: Push Marco.Caching to NuGet.org condition: eq(variables['PackPushToNuget'], 'True') continueOnError: True inputs: command: push nuGetFeedType: external packagesToPush: '$(build.artifactStagingDirectory)/Marco.Caching.*.nupkg' publishFeedCredentials: 'apikey-nuget-marco-caching'