Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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.

Analysis Tool Instance Properties

Property NameProperty CodeRequiredDescription
SonarQube Scanner Home

FDSONARQUBEACCT_SCANNER_HOME

Yes

SonarQube Scanner Home Directory

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 UsernameFDSONARQUBEACCT_USERNAMENoThe username for your SonarQube Server Instance. Provide a token or username and password.
SonarQube PasswordFDSONARQUBEACCT_PASSWORDNoThe password for your SonarQube Server Instance. Provide a token or username and password.

Environment/Instance Properties

Property NameProperty CodeRequiredDescription

Project Properties

Property NameProperty CodeRequiredDescription

SonarQube Project Key

FDSQ_PROJECT_KEY

Yes

Unique identifier for a given SonarQube instance project.

Inputs

Input NameInput CodeRequiredDescription
FDSQ_INP_ANALYSIS_TOOL_ACCOUNT_CODEYesThe SonarQube account with all the required properties like Sonar Scanner Home, Instance Url, Token for running SonarQube Instance.
Sonar Project Properties PathFDSQ_INP_PROPERTIES_FILE_PATHNoAbsolute file path of the sonar-project.properties file.
Analysis PropertiesFDSQ_INP_ANALYSIS_PROPERTIESNoDefine the sonar project properties manually. This will override all other fields. Required property: sonar.projectKey

Outputs

Output NameDescription
Id of the task or Sonar scan started.
FDSQ_OUT_DASHBOARD_URLSonarQube 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/instance.

Endpoint Execution

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.

Special Considerations

  • SonarQube instance required

     Get started with a SonarQube Instance in two minutes
    1. Download the SonarQube Community Edition.

    2. As a non-root user, unzip it, let's say in C:\sonarqube or /opt/sonarqube.

    3. As anon-rootuser, start the SonarQube Server: 

      # 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

      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.
    4. Log in to http://localhost:9000 with System Administrator credentials (login=admin, password=admin).

    5. Click the Create new project button to analyze your first project.

  • Sonar Scanner installed on target environment

Example (WIP)

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. 

Step 2: Create a SonarQube Analysis Tool Account

  • Under SonarQube Account define:
    • The bin folder location of your sonar scanner on your environment.
    • SonarQube Instance URL (http://host:port with no extra "/" at the end).
    • Token OR username AND password for SonarQube Instance.

Step 3: Set your host url

  • Navigate to your SonarQube installation location. We'll refer to it as $install_directory in the next steps.
  • Update the global settings to point to your SonarQube server by editing $install_directory/conf/sonar-scanner.properties:
    sonar-scanner.properties
    #----- Default SonarQube server
    #sonar.host.url=http://localhost:9000 #Don't forget to remove the "#" here if it is there by default

Step 4: Define sonar project properties (2 options)

  • 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.
  • Option 2: Create the sonar project properties from the Workflow screen under Analysis Properties.

    Note

    Sonar Project Properties Path or Analysis Properties is required but not both. If both are defined then Analysis Properties will take precedence.

  • For a list of all possible properties available visit SonarQube Analysis Properties.

Step 5: Define output names for FDSQ_OUT_TASK_ID and FDSQ_OUT_DASHBOARD_URL and create variables with matching names.

Step 6: Create a project, select your sonar scan workflow and instance, and set the SonarQube Project Key under project properties.

Note

If you want to create a new project on your SonarQube Instance then define a unique project key here. Otherwise, you run a new sonar on an exisiting project, in this case find the project key on your SonarQube Instance under Projects→Overview at the bottom right of the screen it will be labeled clearly with the title: Key.

Step 7: Run the workflow to start your sonar scan. 

Example output: 




  • No labels