Created
October 31, 2019 14:25
-
-
Save chadmcrowell/37c82c0dc5ba40d328e61dca64ffbdbb to your computer and use it in GitHub Desktop.
Lesson: "Scan from the Build Pipeline"
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pool: | |
vmImage: 'Ubuntu-16.04' | |
demands: | |
- npm | |
variables: | |
buildConfiguration: 'Release' | |
wwwrootDir: 'Tailspin.SpaceGame.Web/wwwroot' | |
dotnetSdkVersion: '2.1.505' | |
steps: | |
- task: DotNetCoreInstaller@0 | |
displayName: 'Use .NET Core SDK $(dotnetSdkVersion)' | |
inputs: | |
version: '$(dotnetSdkVersion)' | |
- task: Npm@1 | |
displayName: 'Run npm install' | |
inputs: | |
verbose: false | |
- script: './node_modules/.bin/node-sass $(wwwrootDir) --output $(wwwrootDir)' | |
displayName: 'Compile Sass assets' | |
- task: gulp@1 | |
displayName: 'Run gulp tasks' | |
- script: 'echo "$(Build.DefinitionName), $(Build.BuildId), $(Build.BuildNumber)" > buildinfo.txt' | |
displayName: 'Write build info' | |
workingDirectory: $(wwwrootDir) | |
- task: DotNetCoreCLI@2 | |
displayName: 'Restore project dependencies' | |
inputs: | |
command: 'restore' | |
projects: '**/*.csproj' | |
- task: SonarCloudPrepare@1 | |
displayName: 'Prepare SonarCloud analysis' | |
inputs: | |
SonarCloud: 'SonarCloud connection 1' | |
organization: '$(organization)' | |
projectKey: '$(projectKey)' | |
projectName: '$(projectName)' | |
projectVersion: '$(Build.BuildNumber)' | |
extraProperties: | | |
sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)/TestResults/Coverage/coverage.opencover.xml | |
sonar.exclusions=**/wwwroot/lib/**/* | |
- task: DotNetCoreCLI@2 | |
displayName: 'Build the project - $(buildConfiguration)' | |
inputs: | |
command: 'build' | |
arguments: '--no-restore --configuration $(buildConfiguration)' | |
projects: '**/*.csproj' | |
- task: DotNetCoreCLI@2 | |
displayName: 'Install ReportGenerator' | |
inputs: | |
command: custom | |
custom: tool | |
arguments: 'install --global dotnet-reportgenerator-globaltool' | |
- task: SonarCloudAnalyze@1 | |
displayName: 'Run SonarCloud code analysis' | |
- task: SonarCloudPublish@1 | |
displayName: 'Publish SonarCloud quality gate results' | |
- task: PublishCodeCoverageResults@1 | |
displayName: 'Publish code coverage report' | |
inputs: | |
codeCoverageTool: 'cobertura' | |
summaryFileLocation: '$(Build.SourcesDirectory)/**/coverage.cobertura.xml' | |
- task: DotNetCoreCLI@2 | |
displayName: 'Publish the project - $(buildConfiguration)' | |
inputs: | |
command: 'publish' | |
projects: '**/*.csproj' | |
publishWebProjects: false | |
arguments: '--no-build --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)/$(buildConfiguration)' | |
zipAfterPublish: true | |
- task: PublishBuildArtifacts@1 | |
displayName: 'Publish Artifact: drop' | |
condition: succeeded() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment