最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

yaml - How can I set up a CI pipeline in gitlab with sonarqube? - Stack Overflow

programmeradmin5浏览0评论

I try to set up a simple CI pipeline in gitlab with sonarqube. I don't know how I can start the sonarqube server inside the CI pipeline and access it.

I tried the following CI pipeline:

image: sonarsource/sonar-scanner-cli:latest


stages:
  - sonarqube


sonarqube:
  stage: sonarqube
  script:
    - whoami
    - sonar-scanner -X -Dsonar.projectKey=[my_key] -Dsonar.sources=.
  only:
    - feature/create_webpage
  tags:
    - large
  timeout: 120m

I have set the environment variable SONAR_HOST_URL to http://localhost:9000 and started it on that port before locally but that cannot be reached via the pipeline. Before I have tried it with SONAR_HOST_URL=http://sonarqube:9000 but I got the same error, that it is not reachable. The output from whoami was scanner-cli.

I also tried the CI pipeline with node image. Please regard only the stage "sonarqube", the test stage is irrelevant.

image: node:22.9.0

services:
  - name: sonarqube:latest
    alias: sonarqube

stages:
  - test
  - sonarqube

variables:
  SONAR_SCANNER_CLI_VERSION: "4.6.2.2472"
  SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar"  # Defines the location of the analysis task cache

cache:
  key: "${CI_COMMIT_REF_SLUG}"
  paths:
    - .sonar/cache

before_script:
  - npm install -g npm@latest
  - npm install -g sonar-scanner --unsafe-perm
  - chmod +x /usr/local/lib/node_modules/sonar-scanner/bin/sonar-scanner

test:
  stage: test
  script:
    - npm install
    - npm install --save-dev mocha chai chai-http sinon
    - chmod +x getStockData.sh
    - npm test
  tags:
    - large
  timeout: 120m  

sonarqube:
  stage: sonarqube
  script:
    - whoami
    - sonar-scanner -X -Dsonar.projectKey=[my_key] -Dsonar.sources=. -Dsonar.host.url=http://sonarqube:9000
  only:
    - feature/create_webpage
  tags:
    - large
  timeout: 120m

Here I got this permissions error:

$ whoami
root
$ sonar-scanner -X -Dsonar.projectKey=[my_key] -Dsonar.sources=. -Dsonar.host.url=http://sonarqube:9000
/usr/local/lib/node_modules/sonar-scanner/bin/sonar-scanner: 59: exec: : Permission denied
发布评论

评论列表(0)

  1. 暂无评论