Installing CodeScan Self-Hosted

CodeScan On-Premises Implementation

What's New:

CodeScan Self-Hosted version 24.0.1 (now compatible with SonarQubeâ„ĸ version 10.2 or earlier) is the latest CodeScan release. We strongly recommend all CodeScan users upgrade to this iteration.

Download

Release Note


Overview

This section describes installing the CodeScan self-hosted server, allowing you to experience a fully functional evaluation version of enterprise CodeScan on your server.

Prerequisite

Step 1: Request a CodeScan License Key

Note: If you already have a License Key or Subscription Code, proceed to step 2.

AutoRABIT Access/License Key: Before downloading the necessary files, email AutoRABIT’s support team at support@codescan.io to request a CodeScan License Key.

Provide the following information in the email: â€ĸ Client Name (first and last – typically the admin) â€ĸ Client Company â€ĸ Email â€ĸ Duration of License (e.g., varies, 30 days)

Step 2: Download and Install SonarQubeâ„ĸ & CodeScan Zip Files

SonarQubeâ„ĸ Download

You must have a SonarQubeâ„ĸ server currently running in your environment. If not, please visit SonarQube.org to download the latest Community version.

Note: This link will take you to the SonarQubeâ„ĸ 9.9 LTS download. SonarQubeâ„ĸ 10.0 is now supported as well.

CodeScan Zip File Download

  1. Download the latest compatible CodeScan version (currently 24.0.1) from here.

Note: Keep in mind you need to download a version compatible with your SonarJS plugin version. Refer to the requirements section for more information.

  1. You will need to enter your License Key (to be provided by our Support Team) or a Subscription Code. For more information on Subscription Codes, click here.

  1. Accept our Terms of Service and click on the Request Download button.

  2. Extract the ZIP file. It contains the SonarQubeâ„ĸ plugin and an ant-based tool enabling you to run an analysis.

CodeScan VersionPlatform CompatibleDate of ReleaseSupport End DateDownload LinkRelease Note

24.0.1 (Current)

SonarQubeâ„ĸ 10.2 or earlier

January 2024

30 January 2025

23.1.6

SonarQubeâ„ĸ 10.0 or earlier

7 November 2023

30 June 2024

23.1.5

SonarQubeâ„ĸ 10.0 or earlier

1 November 2023

30 June 2024

23.1.4

SonarQubeâ„ĸ 10.0 or earlier

13 October 2023

30 June 2024

23.1.3

SonarQubeâ„ĸ 10.0 or earlier

13 September 2023

30 June 2024

23.1.1

SonarQubeâ„ĸ 9.9 or earlier

12 May 2023

30 June 2024

22.8

SonarQubeâ„ĸ 8.9+ and SonarQubeâ„ĸ 9.9

25 December 2022

30 June 2024

22.7

SonarQubeâ„ĸ 8.9+

01 November 2022

30 June 2024

22.6.2

SonarQubeâ„ĸ 8.9+

12 July 2022

30 June 2024

22.6.1

SonarQubeâ„ĸ 8.9+

23 June 2022

30 June 2024

22.6

SonarQubeâ„ĸ 8.9+

13 June 2022

30 June 2024

22.5

SonarQubeâ„ĸ 8.9+

30 May 2022

30 June 2024

22.4

SonarQubeâ„ĸ 8.9+

16 May 2022

30 June 2024

Plugin Installation

Step 1: Download CodeScan file

  1. Delete any existing Salesforce plugins from your installation.

  2. Ensure your SonarJS plugin is compatible with the current CodeScan for Lightning version. Currently the supported release requires version 6.2+ of the SonarJS plugin. Click here to see alternatives.

Step 2: CodeScan JAR file

  1. Copy CodeScan downloads JAR files, sonar-salesforce-plugin-XXX.jar and sonar-codescanlang-plugin-XXX.jar into your SonarQubeâ„ĸ installation at /extensions/plugins/.

  2. Place JAR files into your SonarQubeâ„ĸ file installation at /extensions/plugins/.

  3. Keep the SonarQubeâ„ĸ file open for the next steps.

Step 3: Start Web Server

  1. Lastly, you need to RUNsonar to execute the script to start the server. In your SonarQubeâ„ĸ installation file, open, '/bin' folder, choose server type, and select ‘StartSonar’. Once rendering is finished, the plugin installation is complete.

Standard SonarQubeâ„ĸ Setup

Step 2. Once you've gained access, go to Administrator > Configuration > General Settings.

  1. Select the CodeScan tab.

  2. Click Save.

  3. You have successfully completed the CodeScan on-premise integration. See the instructions below on how to integrate this to ARM.

CodeScan On-Premises + ARM Integration

Overview

This guide will show you how to integrate the CodeScan self-hosted instance to ARM.

CodeScan On-Premises ARM Integration

Step 1: Generate a SonarQubeâ„ĸ Token

  1. Log in to your SonarQubeâ„ĸ instance.

  2. Go to User > My Account > Security. Your existing tokens are listed here, each with a Revoke button.

  3. The form at the bottom of the page allows you to generate new tokens. Once you click the Generate button, you will see the token value. Be sure to copy it immediately; once you dismiss the notification, you will not be able to retrieve it.

  4. This token is used when storing your credentials, such as your username and password, with AutoRABIT.

Step 2: Store Your SonarQubeâ„ĸ Credentials in ARM

This initial step is when your SonarQubeâ„ĸ credentials, such as your username and password, are stored in AutoRABIT.

  1. Log in to your AutoRABIT account.

  2. Hover your mouse over the Admin module and click on the Credentials tab.

  3. Next, click on Create Credential from the right navigation bar.

  4. On the next pop-up screen, enter the Credential Name.

  5. Choose the Credential Type as Username with Password.

  6. Choose your Credential Scope: Global: Credentials accessible within the team. Private: Credentials for private use.

  7. Enter your SonarQubeâ„ĸ account username. For password, use the copied token mentioned in Step 1.

  8. Verify you are using your SonarQubeâ„ĸ username instead of the email address you use to log in to SonarQubeâ„ĸ.

  1. Click Save.

Setting up Your Quality Profiles

  1. In the SonarQubeâ„ĸ self-hosted instance, click on the Quality Profiles menu.

  2. Make sure you have selected the Salesforce Lightning profile as the default for both the JavaScript and Visualforce and Lightning languages. This can be done with the settings cog to the right of the profile name.

Running a Scan

There are a few ways to run your scan. The first is using our SFDX plugin (this requires that the Salesforce CLI and the SFDX CodeScan Plugin be installed).

  1. Generate a token from the My Account > Security menu in SonarQubeâ„ĸ.

  2. Open the command prompt and navigate to:

    /runner/my-project
  3. Run the following command:

    sfdx codescan:run --token <token> --projectkey my-project-key --organization default-organization --server https://your.server.url

The Organization Key above will work for the Community edition of SonarQubeâ„ĸ but may need to be edited depending on your setup using a paid edition.

You can also use Ant (this requires Ant version 1.9+).

Note: You will need to edit antbuild.properties if your SonarQubeâ„ĸ installation is different than usual, or if you have a proxy. You can also edit /runner/antbuild.xml to customize your workflows.

Running SFDX plugin behind a proxy

To run the SFDX plugin behind a proxy, you will need to pass all the related information in the parameters of the analysis command.

Example:

sfdx codescan:run --server {instanceurl} --token {TKN} --projectkey {PRJ} --organization {ORG} -J-Dhttp.proxyHost=## -J-Dhttp.proxyPort=## -J-Dhttp.proxyUser=## -J-Dhttp.proxyPassword=## -J-Dhttps.proxyHost=## -J-Dhttps.proxyPort=## -J-Dhttps.proxyUser=## -J-Dhttps.proxyPassword=##

where,

ParameterDescription

instanceurl

Enter your CodeScan instance url example- https://app.codescan.io for US region https://app-eu.codescan.io for EU region https://app-aus.codescan.io for AUS region.

TKN

Enter your CodeScan security token (For more information on how to generate a security token, see Security Token)

PRJ

Enter your CodeScan project key (to find your project key, refer to the article Project Key)

ORG

Enter your CodeScan organization (for more information, see Create a new CodeScan Organization)

SonarQubeâ„ĸ ant plugin

For more instructions on setting up the SonarQubeâ„ĸ ant plugin, see https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-ant/. You should verify that the ant script's steps are appropriate for your requirements.

  1. Create a copy of the sonar-project-template folder in the runner directory of this folder and put it in the same project. Call it /runner/my-project. Add the following to the sonar-project.properties file in the my-project folder.

  2. Set sonar.login= to a token available from the My Account > Security menu in SonarQubeâ„ĸ.

  3. Set sonar.projectKey=myproject

  4. Set sonar.projectName=My Project

  5. Set salesforce.username, salesforce.password and salesforce.url to your Salesforce username/password. Your Salesforce token must also be appended to the end of your salesforce.password parameter. For example: salesforce.password=passwordtoken.

    Setting your Salesforce username, password, and URL is unnecessary if you want to analyze static content. Please use a system administrator user profile for this otherwise you may experience strange errors when downloading the code or executing tests.

  6. Open a command prompt and navigate into /runner/my-project

  7. Run the following command:

    ant -f ../antbuild.xml analyse

Note: If the Anyone group is not granted Execute Analysis permission, or if the SonarQubeâ„ĸ instance is secured (sonar.forceAuthentication property is set to true), a user whose credentials have Execute Analysis permission has to be provided through the sonar.login and sonar.password properties.

Proxies

  • If your network has a proxy, you must pass some more parameters to avoid license errors.

  • A guide for this is available HERE.

Having trouble?

  • Read the tutorials

  • Check the troubleshooting section

  • Contact Support


Last updated