Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • 4
  • 4.3
  • 4.3.1
  • 4.3.0
  • 4.2
  • 4.2.4
  • 4.2.3
  • 4.2.2
9 results

gitlab-ci-sonar.yml

Blame
  • gitlab-ci-sonar.yml 12.73 KiB
    # =========================================================================================
    # Copyright (C) 2021 Orange & contributors
    #
    # This program is free software; you can redistribute it and/or modify it under the terms 
    # of the GNU Lesser General Public License as published by the Free Software Foundation; 
    # either version 3 of the License, or (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
    # without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    # See the GNU Lesser General Public License for more details.
    #
    # You should have received a copy of the GNU Lesser General Public License along with this 
    # program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth 
    # Floor, Boston, MA  02110-1301, USA.
    # =========================================================================================
    variables:
      # Sonar
      SONAR_SCANNER_IMAGE: sonarsource/sonar-scanner-cli:latest
    
      # Sonar base analysis default args
      # see: https://docs.sonarqube.org/latest/analysis/analysis-parameters/
      # default uses branch analysis: https://docs.sonarqube.org/latest/branches/overview/
      SONAR_BASE_ARGS: >-
        -Dsonar.host.url=${SONAR_URL}
        -Dsonar.projectKey=${CI_PROJECT_PATH_SLUG}
        -Dsonar.projectName=${CI_PROJECT_PATH}
        -Dsonar.projectBaseDir=.
        -Dsonar.links.homepage=${CI_PROJECT_URL}
        -Dsonar.links.ci=${CI_PROJECT_URL}/-/pipelines
        -Dsonar.links.issue=${CI_PROJECT_URL}/-/issues
    
      # Sonar GitLab plugin args
      # see: https://github.com/gabrie-allaigre/sonar-gitlab-plugin/#plugins-properties
      # -> enabled if $SONAR_GITLAB_TOKEN is set
      SONAR_GITLAB_ARGS: >-
        -Dsonar.gitlab.url=${CI_SERVER_URL}
        -Dsonar.gitlab.user_token=${SONAR_GITLAB_TOKEN}
        -Dsonar.gitlab.project_id=${CI_PROJECT_ID}
        -Dsonar.gitlab.commit_sha=${CI_COMMIT_SHA}
        -Dsonar.gitlab.ref_name=${CI_COMMIT_REF_NAME}
    
      # default production ref name (pattern)
      PROD_REF: '/^(master|main)$/'
      # default integration ref name (pattern)
      INTEG_REF: '/^develop$/'
    
    # allowed stages depend on your template type (see: to-be-continuous.gitlab.io/doc/dev-guidelines/#stages)
    stages:
      - test
    
    .sonar-scripts: &sonar-scripts |
      # BEGSCRIPT
      set -e
    
      function log_info() {
          echo -e "[\\e[1;94mINFO\\e[0m] $*"
      }
    
      function log_warn() {
          echo -e "[\\e[1;93mWARN\\e[0m] $*"
      }
    
      function log_error() {
          echo -e "[\\e[1;91mERROR\\e[0m] $*"
      }
    
      function assert_defined() {
        if [[ -z "$1" ]]
        then
          log_error "$2"