通过 docker 图像错误 运行 声纳扫描仪
Error running sonar-scanner via docker image
我通过 docker 在 mac
上安装声纳扫描仪
(https://hub.docker.com/r/sonarsource/sonar-scanner-cli) 并且出现错误“您必须为 'Unknown' 定义以下强制属性: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
2 已安装 docker 和扫描仪
这是我的 docker 命令
docker 运行 --rm -e SONAR_HOST_URL="https://sonarqube.comp.com/" -e SONAR.PROJECTKEY="my-app " -v "/git/franchises" sonarsource/sonar-scanner-cli
请问如何正确传递信息。
谢谢
运行 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'
(注意:以上我假设你的源代码在-src文件夹中,如果不是请相应更改)
转到 http://localhost:9000 您现在将看到一个新项目 - “Test-Project”,它已经完全分析了您 运行 的源代码从你的根目录。
文档click
使用“sonarqube-scanner”包(SonarScanner 的替代品,特定于 js/ts 语言):
$ npm i -D sonarqube-scanner
在package.json中添加一个新脚本:"sonar": "node sonar-project.js"
在你的root-directory中添加一个文件: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');
});
$ npm run sonar
文档click
有点晚了,但这里有一个解决方案:
docker run --rm -e SONAR_HOST_URL="https://sonarqube.comp.com/" -v "/git/franchises" sonarsource/sonar-scanner-cli -Dsonar.projectKey=my-app
如 https://github.com/SonarSource/sonar-scanner-cli-docker/issues/26 所述,您可以附加任何 -Dsonar.xxx
属性.
我来晚了,但你也可以使用 .properties
文件,但它应该命名为 sonar-project.properties
.
我通过 docker 在 mac
上安装声纳扫描仪(https://hub.docker.com/r/sonarsource/sonar-scanner-cli) 并且出现错误“您必须为 'Unknown' 定义以下强制属性: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
2 已安装 docker 和扫描仪
这是我的 docker 命令
docker 运行 --rm -e SONAR_HOST_URL="https://sonarqube.comp.com/" -e SONAR.PROJECTKEY="my-app " -v "/git/franchises" sonarsource/sonar-scanner-cli
请问如何正确传递信息。
谢谢
运行 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'
(注意:以上我假设你的源代码在-src文件夹中,如果不是请相应更改)
转到 http://localhost:9000 您现在将看到一个新项目 - “Test-Project”,它已经完全分析了您 运行 的源代码从你的根目录。
文档click
使用“sonarqube-scanner”包(SonarScanner 的替代品,特定于 js/ts 语言):
$ npm i -D sonarqube-scanner
在package.json中添加一个新脚本:
"sonar": "node sonar-project.js"
在你的root-directory中添加一个文件: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'); });
$ npm run sonar
文档click
有点晚了,但这里有一个解决方案:
docker run --rm -e SONAR_HOST_URL="https://sonarqube.comp.com/" -v "/git/franchises" sonarsource/sonar-scanner-cli -Dsonar.projectKey=my-app
如 https://github.com/SonarSource/sonar-scanner-cli-docker/issues/26 所述,您可以附加任何 -Dsonar.xxx
属性.
我来晚了,但你也可以使用 .properties
文件,但它应该命名为 sonar-project.properties
.