Install SonarQube Installation Guide for Mac OS

Install SonarQube in Mac OS

What is SonarQube?

SonarQube is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities in 20+ programming languages.

Step 1. Download and setup SonarQube

blog-img

  • Unzip the downloaded file.
  • Move downloaded file under /Applications/ folder. (I prefer it to keep it that way)

blog-img

  • Rename it to SonarQube and delete the version suffix.

blog-img

Step 2. Download and Set up SonarScanner

blog-img

  • Unzip the downloaded file.
  • Move downloaded file under /Applications/ folder. (I prefer it to keep it that way)

blog-img

  • Rename it to SonarScanner and delete the version suffix.

blog-img

Also Read: What is Flutter? A brief introduction about flutter

Step 3. Updating .bash_profile with new path

  • Start Terminal and run the following command.
    - cd ~/
    - vi .bash_profile

blog-img

  • The above commands will open your bas_profile in the vi editors.
  • Use the down arrow key to jump to the last line.
  • Use left-right arrows to navigate to the last character.
  • Press i to enable insert mode.

blog-img

blog-img

  • Copy & paste the following lines.- export PATH=$PATH:/Applications/SonarScanner/bin
    - export PATH=$PATH:/Applications/SonarQube/bin

blog-img

  • Press ESC key and: will appear at the bottom-left corner in vi editor.
  • Enter wq to save & quit.

blog-img

Step 4: Setting up SonarSwift from Backlite

  • Download jar. In my case, I downloaded backelite-sonar-swift-plugin-0.3.6.jar

blog-img

  • Move this jar file under the following folder.
    - /Applications/SonarQube/extensions/plugins/

blog-img
blog-img

Step 5: Starting up SonarQube

  • Run the following command to start the SonarQube server.
    - sh /Applications/SonarQube/bin/macosx-universal-64/sonar.sh console

blog-img

  • If your machine has didn’t install JAVA or JDK. So please first download and then install it.

blog-img
blog-img
blog-img
blog-img

  • You should see a console as follows if everything goes well.]Running SonarQube...   wrapper | --> Wrapper Started as Console
    wrapper | Launching a JVM...
    jvm 1 | Wrapper (Version 3.2.3)http://wrapper.tanukisoftware.org
    jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
    jvm 1 |           jvm 1 | 2017.11.02 16:23:18 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /Applications/SonarQube/temp jvm 1 | 2017.11.02 16:23:18 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001jvm 1 | 2017.11.02 16:23:18 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from

    [/Applications/SonarQube/elasticsearch]:    /Applications/SonarQube/elasticsearch/bin/elasticsearch -
    Epath.conf=/Applications/SonarQube/temp/conf/es jvm 1 | 2017.11.02 16:23:18 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and runningjvm 1 | 2017.11.02 16:23:18 INFO app[][o.e.p.PluginsService] no modules loadedjvm1|2017.11.0216:23:18INFOapp[[o.e.p.PluginsService]loadedplugin[org.elasticsearch.transport.Netty4Plugin]
  • But once you see the following message under the console, you should start the browser.
    jvm 1 | 2017.11.02 16:23:40 INFO app[][o.s.a.SchedulerImpl] Process[ce] is up
    jvm 1 | 2017.11.02 16:23:40 INFO app[][o.s.a.SchedulerImpl] SonarQube is up

blog-img

Step 6: Logging IN

  • Go to the browser. Open the following URL.    -http://localhost:9000/about
  • Click on Log in.
  • Use admin as the username, admin as password.

blog-img

Step 7: Setting up the Project

  • Navigate to the following URL.    -http://localhost:9000/admin/projects_management
  • Click on Create Project.

blog-img

  • Enter the Project name.
  • Enter the project key.
  • Click Create.

blog-img
blog-img

Step 8: Performing Analysis of your Project.

  • Start Terminal
  • Navigate to your project’s root directory where you’ve your project.xcodeProject file.
  • For Example:
  •    - cd ~/Projects/iOSApplications/myProject

blog-img

  • To Start analysis, run the following command. - sonar-scanner -Dsonar.projectKey=MyProjectKey -Dsonar.sources=. -Dsonar.host.url=http://localhost:9000

blog-img

NOTE: Make sure you replace MyProjectKey with your project key.

  • The analysis will begin with the following console log.     INFO: Scanner configuration file: /Applications/SonarScanner/conf/sonar-scanner.properties     INFO: Project root configuration file: NONE     INFO: SonarQube Scanner 3.0.3.778     INFO: Java 1.8.0_121 Oracle Corporation (64-bit)     INFO: Mac OS X 10.12.6 x86_64     INFO: User cache: /Users/e070190/.sonar/cache     INFO: Publish mode     INFO: Load global settings     INFO: Load global settings (done) | time=56ms
  • And, the analysis will end with the following console log.
    INFO: Task total time: 21.407 s     INFO: ------------------------------------------------------------------------     INFO: EXECUTION SUCCESS     INFO: ------------------------------------------------------------------------     INFO: Total time: 22.791s     INFO: Final Memory: 57M/1531M     INFO: ------------------------------------------------------------------------

blog-img

Step 9: Viewing the Reports.

  • Navigate to the following URL.

    http://localhost:9000/dashboard?id=MyProjectKey

NOTE: Make sure you replace MyProjectKey with your project key.