Overview
Sentrio VSM Platform Extension for Azure DevOps pipelines connects your favorite CICD tool with our powerful platform.
With it, you will be able to:
- Notify deployment events, taking advantage of key performance indicators such as Deployment Frequency of Change Failure Rate.
- Send Sonarqube quality and security information, effectively tracking your technical debt from SENTRIO.
Configuration
Service Connection
This extension requires you to configure a service connection against our platform.
- Access your Azure DevOps project settings
- Look for the Sentrio service connection
- Fill out the form with the client id and client secret strings provided by Sentrio. Name your service connection to reference it form the task
SendDeploy Task
Sends deployment information to Sentrio. Must be placed after executing deployment tasks in Azure DevOps
Parameter |
Type |
Description |
Required |
SentrioService |
string |
The service connection id (e.g. sentrio-platform) |
true |
projectId |
string |
The project management tool code (e.g. Jira Code) |
true |
application |
string |
Application id (e.g. artifactId) |
true |
environment |
string |
The deployment environment code (e.g. dev) |
true |
commitMessage |
string |
Last commit message (default value: $(Build.SourceVersionMessage)) |
true |
Extension usage example:
...
- task: SentrioDeploy@0
inputs:
SentrioService: 'sentrio-platform'
projectId: 'PRJ'
application: 'foo-application'
environment: 'dev'
commitMessage: '$(Build.SourceVersionMessage)'
SendSonarqube Task
Sends Sonarqube information to Sentrio.
Pre-requisites
The organization must have previously installed the Sonarqube extension and configured its service connection in the project settings
The pipeline must execute the SonarQubePrepare
and SonarQubePublish
tasks before invoking the SendSonarqube
task:
- task: SonarQubePrepare@4
inputs:
SonarQube: 'sonarqube-profile'
scannerMode: 'Other'
extraProperties: |
# Additional properties that will be passed to the scanner,
# Put one key=value per line, example:
# sonar.exclusions=**/*.bin
sonar.projectKey=hello-azure
- task: Gradle@2
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'build -x test'
publishJUnitResults: false
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.11'
sonarQubeRunAnalysis: true
sqGradlePluginVersionChoice: 'specify'
sonarQubeGradlePluginVersion: '3.0'
- task: SonarQubePublish@4
inputs:
pollingTimeoutSec: '300'
- Finally, invoke the
SendSonarqube
task:
Parameter |
Type |
Description |
Required |
SentrioService |
string |
The service connection id (e.g. sentrio-platform) |
true |
SonarqubeService |
string |
The service connection id (e.g. sonarqube-service-id) |
true |
projectId |
string |
The project management tool code (e.g. Jira Code) |
true |
sonarqubeApplicationId |
string |
The Sonarqube application id |
true |
branch |
string |
The git branch used in the pipeline |
true |
- task: SentrioSonarqube@1
inputs:
SentrioService: 'sentrio-platform'
SonarqubeService: 'sonarqube-service-id'
projectId: 'PI'
sonarqubeApplicationId: 'hello-azure'
branch: 'main'