Executes a sonar scan. This operation takes inputs for both a Sonar project properties path and an analysis properties file. If both are provided, the plugin will use the analysis properties and do nothing with the path. This operation only returns its task Id and browsable url on the specified SonarQube instance.
Info | ||
---|---|---|
| ||
There are a significant amount of analysis parameters available to augment a Sonar scan. It is recommended to research which parameters are necessary for your projects and sonar scans. |
Analysis Tool Instance Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Property Name | Property Code | Required | Description |
SonarQube instance URL | FDSONARQUBEACCT_INSTANCE_URL | Yes | SonarQube Server Instance URL (example: https://localhost:9000) |
SonarQube Token | FDSONARQUBEACCT_TOKEN | No | SonarQube Server Token provides credentials to run code scans or to invoke web services as a replacement of the user login. Provide a token or username and password. |
SonarQube Username | FDSONARQUBEACCT_USERNAME | No | The username for your SonarQube Server Instance. Provide a token or username and password. |
SonarQube Password | FDSONARQUBEACCT_PASSWORD | No | The password for your SonarQube Server Instance. Provide a token or username and password. |
Environment/Instance Properties
SonarQube Clinet path | FDSONARQUBEACCT_SONAR_HOME | No | SonarQube Client path in the server (e.g. /u01/sonarClinet/sonar-scanner-3.1.0.1141-linux/bin) |
Project Properties
Property Name | Property Code | Required | Description |
---|
...
Input Name | Input Code | Required | Description |
---|---|---|---|
FDSQ_INP_ANALYSIS_TOOL_ACCOUNT_CODE | Yes | The SonarQube account with all the required properties like Sonar Scanner Home, Instance Url, Token for running SonarQube Instance. | |
Sonar Project Properties Path | FDSQ_INP_PROPERTIES_FILE_PATH | No | Absolute file path of the sonar-project.properties file. |
Analysis Properties | FDSQ_INP_ANALYSIS_PROPERTIES | No | Define the sonar project properties manually. This will override all other fields. Required property: sonar.projectKey |
...
Output Name | Description |
---|---|
Id of the task or Sonar scan started. | |
FDSQ_OUT_DASHBOARD_URL | SonarQube instance dashboard url. Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report. |
Artifacts
This operation doesn’t consume or produce any artifacts.
Endpoint Selection
This operation will select all available endpoints associated to the environment/instancedelegates the selection to the workflow developer to determine.
Endpoint Execution
This operation will execute on any one of the selected endpoints and will be random in the determination of which oneoperations delegates the execution to the workflow developer to decide.
Special Considerations
SonarQube instance required
Expand title Get started with a SonarQube Instance in two minutes Download the SonarQube Community Edition.
As a non-
root
user, unzip it, let's say in C:\sonarqube or /opt/sonarqube.As aa non-
root
root
user, start the SonarQube Server:Code Block theme Eclipse # On Windows, execute: C:\sonarqube\bin\windows-x86-xx\StartSonar.bat # On other operating systems, as a non-root user execute: /opt/sonarqube/bin/[OS]/sonar.sh console
Info title Troubleshooting If you're having trouble starting your server for the first time (or any subsequent time!) the first thing to do is check your server logs. You'll find them in
$SONARQUBE_HOME/logs
:- sonar.log - Log for the main process. Holds general information about startup and shutdown. You'll get overall status here but not details. Look to the other logs for that.
- web.log - Information about initial connection to the database, database migration and reindexing, and the processing of HTTP requests. This includes database and search engine logs related to those requests.
- ce.log - Information about background task processing and the database and search engine logs related to those tasks.
- es.log - Ops information from the search engine, such as Elasticsearch startup, health status changes, cluster-, node- and index-level operations, etc.
Log in to http://localhost:9000 with System Administrator credentials (login=admin, password=admin).
Click the Create new project button to analyze your first project.
- Sonar Scanner installed on target environment
- Download the CLI Sonar Scanner
...
Step 2: Create a SonarQube Analysis Tool Account
- Under SonarQube Account define:
- SonarQube Instance URL (http://host:port with no extra "/" at the end).
- Token OR username AND password for SonarQube Instance.
...
- Option 1: Create a configuration file in the root directory of the project and name it sonar-project.properties, then give the file path to this file under Sonar Project Properties Path.
Info title Note Sonar Project Properties Path or Analysis Properties is required but not both. Notice both are defined in this example, therefore, the analysis properties will take precedence.
- Option 2: Create the sonar project properties from the Workflow screen under Analysis Properties.
Info title Note Sonar Project Properties Path or Analysis Properties is required but not both. Notice both are defined in this example, therefore, the analysis properties will take precedence.
Info title Note Omitting sonar.sources or sonar.projectBaseDir properties means the sonar scan will default to scanning all files in the base directory of the workflow execution → Endpoint Base Directory/ProjectId/WorkflowExecutionId (I.E.: prod/flexdeploy/fdtlt04/work/302231/198535/)
- For a list of all possible properties available visit SonarQube Analysis Properties.
...
Step 7: Run the workflow to start your sonar scan.
Example output: