Advanced Setup - Overview
If you have completed the Getting Started section you will have encountered the in-product tutorials. The tutorials provide a decision tree that leads you along the correct path through the various configuration options, depending on the details of your project (language, CI, build tools, etc.)
While the tutorials are useful for getting your specific project set up, they don't give you an overview of all the configuration options.
In this section, we aim to provide such an overview. By understanding the purpose behind the differing configuration variations, you can see the bigger picture and more easily troubleshoot problems better when they arise.
Automatic vs CI-based analysis
When setting up a new project, the first choice you will encounter is that between automatic analysis and CI-based analysis. When you import a project, SonarCloud detects whether it is eligible for automatic analysis and, if it is, begins analysis immediately.
Only projects on GitHub and in a subset of languages are eligible for automatic analysis. Most notably C# and C/C++/Objective-C are not supported by automatic analysis. Additionally, some advanced features, such as branch analysis, monorepo support and coverage, are not supported with this analysis method. Nevertheless, if your project is eligible and you don't require any of the unsupported features, automatic analysis is the recommended method to use. See Automatic Analysis for details.
If automatic analysis is not suitable for your project, you must set up a CI-based analysis.
With the CI-based method, the analysis of the code does not take place in SonarCloud itself, as it does with automatic analysis, but in your build environment (either on a local machine or in a cloud CI), each time you make a change and rebuild your project. The analysis is done by a separate tool, called a scanner, that is run in your build environment. The results of the analysis are then sent up to the SonarCloud server, processed and displayed in the SonarCloud web interface.
For details see CI-based Analysis.
SonarCloud supports analysis of 24 languages.
See Languages for the list of languages with links to language-specific configurations for each one.
Analysis parameters allow you to control many details of how an analysis is performed.
See Analysis Parameters for details.
You can exclude files in your project from analysis by specifying a pattern against which files and directory names are matched.
See Analysis Scope for details.
SonarCloud supports the monorepo strategy where multiple separate projects are stored in a single repository.
See Monorepo Support for details.
SonarCloud can be connected directly to your IDE using SonarLint connected mode.
See SonarLint for details.
SonarCloud allows you to manage your user account easily.
See User Accounts for details.
SonarCloud supports configuration of Webhooks, allowing you to send automatic notifications to external services of analysis activity in your SonarCloud account.
See Webhooks for details.