# Project analysis setup

This page introduces briefly the prerequisites and the setup steps necessary for a project analysis.

For an overview of the analysis process, see the [analysis-overview](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/analysis-overview "mention") page.

## Prerequisites and recommendations <a href="#prerequisites" id="prerequisites"></a>

<details>

<summary>SonarQube Server is integrated with your DevOps platform / CI tool</summary>

It is highly recommended that you integrate SonarQube Server with your DevOps platform or CI tool. See:

* [introduction](https://docs.sonarsource.com/sonarqube-server/10.8/devops-platform-integration/github-integration/setting-up-at-global-level/introduction "mention")
* [global-setup](https://docs.sonarsource.com/sonarqube-server/10.8/devops-platform-integration/gitlab-integration/global-setup "mention")
* [bitbucket-server-integration](https://docs.sonarsource.com/sonarqube-server/10.8/devops-platform-integration/bitbucket-integration/bitbucket-server-integration "mention")
* [bitbucket-cloud-integration](https://docs.sonarsource.com/sonarqube-server/10.8/devops-platform-integration/bitbucket-integration/bitbucket-cloud-integration "mention")
* [azure-devops-integration](https://docs.sonarsource.com/sonarqube-server/10.8/devops-platform-integration/azure-devops-integration "mention")
* [global-setup](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/ci-integration/jenkins-integration/global-setup "mention")

</details>

<details>

<summary>The SonarScanner is installed on the CI/CD host</summary>

The [analysis-overview](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/analysis-overview "mention") must be installed on the CI/CD host. You must install the scanner that is most appropriate for your needs depending on your build system: Gradle, Maven, .NET, NPM, or Python. For other project types, use the SonarScanner CLI which requires more manual configuration.

For installation requirements, see [general-requirements](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/scanner-environment/general-requirements "mention").

For installation instructions, see the corresponding SonarScanner section: [sonarscanner-for-maven](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner-for-maven "mention"), [sonarscanner-for-gradle](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner-for-gradle "mention"), [installing](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/dotnet/installing "mention"), [installing](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/npm/installing "mention"), [sonarscanner-for-python](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner-for-python "mention"), or [sonarscanner](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner "mention").

{% hint style="info" %}
[scm-integration](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scm-integration "mention") used during the analysis will be automatically imported from Git and SVN. Other providers require additional plugins.
{% endhint %}

</details>

## Creating your SonarQube Server project <a href="#creating-sq-project" id="creating-sq-project"></a>

Your project repository is represented in SonarQube Server by a project.

You can create a SonarQube Server project in the SonarQube Server UI before starting the first project analysis. Or you can start your first project analysis to automatically create the SonarQube Server project on the server (SonarQube Server creates automatically a new project if the received project key does not exist in its database).

To create a project, see [creating-and-importing-projects](https://docs.sonarsource.com/sonarqube-server/10.8/project-administration/creating-and-importing-projects "mention").

## Integrating the SonarQube Server analysis into your CI or build pipeline <a href="#integrating-into-ci-or-build" id="integrating-into-ci-or-build"></a>

To integrate the SonarQube Server analysis into your CI pipeline, see the corresponding section:

* Jenkins: [add-analysis-to-job](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/ci-integration/jenkins-integration/add-analysis-to-job "mention")
* GitHub Actions: [adding-analysis-to-github-actions-workflow](https://docs.sonarsource.com/sonarqube-server/10.8/devops-platform-integration/github-integration/adding-analysis-to-github-actions-workflow "mention")
* GitLab CI/CD: [adding-analysis-to-gitlab-ci-cd](https://docs.sonarsource.com/sonarqube-server/10.8/devops-platform-integration/gitlab-integration/adding-analysis-to-gitlab-ci-cd "mention")
* [azure-devops-integration](https://docs.sonarsource.com/sonarqube-server/10.8/devops-platform-integration/azure-devops-integration "mention")
* [bitbucket-cloud-integration](https://docs.sonarsource.com/sonarqube-server/10.8/devops-platform-integration/bitbucket-integration/bitbucket-cloud-integration "mention")

To integrate the SonarQube Server analysis into your build pipeline, see the scanner invoking instructions in the corresponding section: [sonarscanner-for-maven](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner-for-maven "mention"), [sonarscanner-for-gradle](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner-for-gradle "mention"), [using](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/dotnet/using "mention"), [using](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/npm/using "mention"), [sonarscanner-for-python](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner-for-python "mention"), or [sonarscanner](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner "mention").

For general information about SonarQube Server integration with a CI or build pipeline, see [analysis-overview](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/analysis-overview "mention").

## Adjusting the analysis of your project <a href="#adjusting-analysis" id="adjusting-analysis"></a>

The analysis performed by the SonarScanner is configured through analysis parameters. The following applies:

* A few analysis parameters are mandatory.
* Many analysis parameters, such as those defining the analysis scope, have a default value and can be adjusted.
* Analysis parameters allow you to include the code and test coverage in your analysis, or to import issues generated by a third-party analyzer, etc.

SonarQube Server manages the analysis parameters through sonar properties (The sonar property key has the following syntax: `sonar.<property>`.).

You can configure the analysis parameters in different places. For more information, see [analysis-parameters](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/analysis-parameters "mention") and the respective SonarScanner section: [sonarscanner-for-maven](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner-for-maven "mention"), [sonarscanner-for-gradle](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner-for-gradle "mention"), [using](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/dotnet/using "mention"), [configuring](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/npm/configuring "mention"), [sonarscanner-for-python](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner-for-python "mention"), or [sonarscanner](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner "mention").

You can:

* Include the code and test coverage in your analysis: see [overview](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/test-coverage/overview "mention").
* Adjust the analysis scope: see [analysis-scope](https://docs.sonarsource.com/sonarqube-server/10.8/project-administration/analysis-scope "mention").
* Import issues generated by third-party analyzers: see the [external-analyzer-reports](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/importing-external-issues/external-analyzer-reports "mention") section.
