From dfe6b9e39a63507bba9900f5a68565ca82f3627f Mon Sep 17 00:00:00 2001 From: MikeBirnstiehl Date: Fri, 4 Oct 2019 10:47:50 -0500 Subject: [PATCH] DOCS add GitLab CICD page --- .../project-administration/gitlab-cicd.md | 76 +++++++++++++++++++ .../static/SonarQubeNavigationTree.json | 1 + .../static/StaticNavigationTree.json | 1 + 3 files changed, 78 insertions(+) create mode 100644 server/sonar-docs/src/pages/project-administration/gitlab-cicd.md diff --git a/server/sonar-docs/src/pages/project-administration/gitlab-cicd.md b/server/sonar-docs/src/pages/project-administration/gitlab-cicd.md new file mode 100644 index 00000000000..1d102a88e29 --- /dev/null +++ b/server/sonar-docs/src/pages/project-administration/gitlab-cicd.md @@ -0,0 +1,76 @@ +--- +title: Running Scanners with GitLab CI/CD +url: /project-administration/gitlab-cicd/ +--- + +_Merge Request analysis is available as part of [Developer Edition](https://redirect.sonarsource.com/editions/developer.html) and [above](https://www.sonarsource.com/plans-and-pricing/)._ + +SonarScanners running in GitLab CI/CD Jobs will automatically detect branches or Merge Requests being built so you don't need to specifically pass them as parameters to the scanner. + +## Activating builds +By default, GitLab will build all branches but not Merge Requests. + +### Developer Edition and above +To build Merge Requests, you need to update the `.gitlab-ci.yml` file by adding `merge_requests` to the `only` parameter. See the following examples for more information. + +### Community Edition +Because Community Edition doesn't support branches, you should only analyze your main branch. You can restrict analysis to that branch by adding the branch name to the `only` parameter. + +## Example configurations +The following examples show you how to configure the execution of SonarScanner for Gradle, SonarScanner for Maven, and SonarScanner CLI with GitLab CI/CD. + +### SonarScanner for Gradle: + +``` +image: gradle:alpine +variables: + SONAR_TOKEN: "your-sonarqube-token" + SONAR_HOST_URL: "http://your-sonarqube-instance.org" +sonarqube-check: + stage: test + script: gradle sonarqube + only: + - merge_requests + - branches +``` + +### SonarScanner for Maven: + +``` +image: maven:latest +variables: + SONAR_TOKEN: "your-sonarqube-token" + SONAR_HOST_URL: "http://your-sonarqube-url" +sonarqube-scan: + script: + - mvn verify sonar:sonar + only: + - merge_requests + - branches +``` + +### SonarScanner CLI: + +``` +image: + name: sonarsource/sonar-scanner-cli:latest + entrypoint: [""] +variables: + SONAR_TOKEN: "your-sonarqube-token" + SONAR_HOST_URL: "http://your-sonarqube-instance.org" +sonarqube-check: + stage: test + script: + - sonar-scanner + only: + - merge_requests + - branches +``` + +**Note:** A project key has to be provided through `sonar-project.properties` or through the command line parameter. For more information, see the [SonarScanner](/analysis/scan/sonarscanner/) page. + +## Setting environment variables for all builds +Instead of specifying environment variables in your `.gitlab-ci.yml` file (such as `SONAR_TOKEN` and `SONAR_HOST_URL`), you can set them securely for all pipelines in GitLab's settings. See [Creating a Custom Environment Variable](https://docs.gitlab.com/ee/ci/variables/#creating-a-custom-environment-variable) for more information. + +## For more information +For more information on configuring your build with GitLab CI/CD, see the [GitLab CI/CD Pipeline Configuration Reference](https://gitlab.com/help/ci/yaml/README.md). diff --git a/server/sonar-docs/static/SonarQubeNavigationTree.json b/server/sonar-docs/static/SonarQubeNavigationTree.json index 2fe3e486e83..91482b112cd 100644 --- a/server/sonar-docs/static/SonarQubeNavigationTree.json +++ b/server/sonar-docs/static/SonarQubeNavigationTree.json @@ -104,6 +104,7 @@ "/project-administration/managing-project-history/", "/project-administration/narrowing-the-focus/", "/project-administration/new-code-period/", + "/project-administration/gitlab-cicd/", "/project-administration/configuring-portfolios-and-applications/", "/project-administration/portfolio-pdf-configuration/", "/project-administration/project-settings/", diff --git a/server/sonar-docs/static/StaticNavigationTree.json b/server/sonar-docs/static/StaticNavigationTree.json index 83b30761cf4..1d284f22387 100644 --- a/server/sonar-docs/static/StaticNavigationTree.json +++ b/server/sonar-docs/static/StaticNavigationTree.json @@ -120,6 +120,7 @@ "/project-administration/managing-project-history/", "/project-administration/narrowing-the-focus/", "/project-administration/new-code-period/", + "/project-administration/gitlab-cicd/", "/project-administration/configuring-portfolios-and-applications/", "/project-administration/portfolio-pdf-configuration/", "/project-administration/project-settings/", -- 2.39.5