Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Analysis Properties

There is 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

FDSONARQUBEACCT_INSTANCE_URL

FDSONARQUBEACCT_SONAR_HOME

Property Name

Property Code

Required

Description

SonarQube instance URL

Code Block

Yes

SonarQube Server Instance URL (example: https://localhost:9000)

SonarQube Token

code

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

code

FDSONARQUBEACCT_USERNAME

No

The username for your SonarQube Server Instance. Provide a token or username and password.

SonarQube Password

code

FDSONARQUBEACCT_PASSWORD

No

The password for your SonarQube Server Instance. Provide a token or username and password.

SonarQube Clinet path

Code Block

No

SonarQube Client path in the server (e.g. /u01/sonarClinet/sonar-scanner-3.1.0.1141-linux/bin)

Inputs

FDSQ_INP_ANALYSIS_TOOL_ACCOUNT_CODE

FDSQ_INP_PROPERTIES_FILE_PATH

FDSQ_INP_ANALYSIS_PROPERTIES

Input Name

Input Code

Required

Description

SonarQube Account Code

Code Block

Yes

The SonarQube account with all the required properties like Sonar Scanner Home, Instance Url, Token for running SonarQube Instance.

Sonar Project Properties Path

Code Block

No

Absolute file path of the sonar-project.properties file.

Analysis Properties

Code Block

No

Define the sonar project properties manually. This will override all other fields. Required property: sonar.projectKey

Outputs

Output Name

Description

FDSQ_OUT_TASK_ID

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 delegates the selection to the workflow developer to determine.

Endpoint Execution

This operations delegates the execution to the workflow developer to decide.

Special Considerations

  • SonarQube instance required

    Expand
    titleGet 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 a non-root user, start the SonarQube Server: 

    Code Block
    themeEclipse
    # 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
    titleTroubleshooting

    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

Example

Step 1: Gather authentication information.

  • If you choose to use a token over username and password for authentication you can generate it on your SonarQube Server. To get a SonarQube Token: login to your SonarQube Instance (http://host:port ex: http://localhost:9000/) and navigate to My Account->Security->Generate New Token. Make sure you copy and save this token somewhere secure because after you leave this screen you will not be able to see your token again. 

...

  • Sonar Scanner installed on target environment

Insert excerpt
analyzeCode
analyzeCode
nameInstalling SonarQube
nopaneltrue

Example

Insert excerpt
analyzeCode
analyzeCode
nameSonar Authentication
nopaneltrue

Step 2: Create a SonarQube Analysis Tool Account

...