通过 docker 镜像运行声纳扫描仪时出错

use*_*135 2 sonarqube sonarqube-scan

我通过 docker 在我的 mac 上安装 sonar-scanner

https://hub.docker.com/r/sonarsource/sonar-scanner-cli)并且我收到错误“您必须为‘未知’定义以下强制属性:sonar.projectKey”。

我做了以下事情:

1:在JS项目根目录添加sonar-scanner.properties文件

# Required metadata
sonar.projectKey=my-app
sonar.projectName=Franchise
sonar.projectVersion=1.0

# Comma-separated paths to directories with sources (required)
sonar.sources=server/app.js,pages,components
Run Code Online (Sandbox Code Playgroud)

2 安装docker和扫描仪

这是我的 docker 命令

docker run --rm -e SONAR_HOST_URL="https://sonarqube.comp.com/" -e SONAR.PROJECTKEY="my-app" -v "/git/franchises" sonarsource/sonar-scanner-cli

请让我知道如何正确传递信息。

谢谢

Sab*_*esh 6

将 SonarQube 服务器作为 Docker 镜像运行:

  • \$ docker pull sonarqube:7.9.4-community
  • \$ docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:7.9.4-community
  • 登录http://localhost:9000(登录名=admin,密码=admin)
  • (确保 - sonarqube 服务器正在 localhost:9000 运行)

将 SonarScanner 作为 Docker 镜像运行:

  • \$ docker pull newtmitch/sonar-scanner:4-alpine

  • 转到项目的根目录

  •  \$ docker run -it -v $(pwd):/usr/src --link sonarqube:7.9.4-community newtmitch/sonar-scanner:4-alpine \
         -D sonar.host.url=http://sonarqube:9000 \
         -D sonar.scm.provider=git  \
         -D sonar.projectBaseDir=./src \
         -D sonar.sources=. \
         -D sonar.projectName='Test-Project'
    
    Run Code Online (Sandbox Code Playgroud)
  • (注意:上面我假设你的源代码位于 src 文件夹内,如果不是,请相应更改)

  • 转到 http://localhost:9000 您现在将看到一个新项目 - “Test-Project”,它已完全分析您从根目录运行的源代码。

  • 文档点击

使用“sonarqube-scanner”包(SonarScanner 的替代方案,特定于 js/ts 语言):

  • \$ npm i -D sonarqube-scanner

  • 在 package.json 中添加一个新脚本:"sonar": "node sonar-project.js"

  • 在根目录中添加一个文件: sonar-project.js

  • 在 sonar-project.js 中复制以下代码:

     const sonarqubeScanner = require('sonarqube-scanner');
     sonarqubeScanner({
     serverUrl: 'http://localhost:9000',
     options: {
       'sonar.sources': 'src',
       'sonar.tests': 'src',
       'sonar.inclusions': 'src/**/*.ts', // Entry point of your code
       'sonar.test.inclusions': 'src/**/*.spec.ts,src/**/*.spec.jsx',
       },
     }, () => {
     console.log('Error Occurred while scanning');                    
     });
    
    Run Code Online (Sandbox Code Playgroud)
  • \$ npm run sonar

  • 文档点击