我可能遗漏了一些显而易见的东西,但我似乎无法获得javascript出现在SonarCloud中的扫描结果。存储库95%是一个angular应用程序,有5%的Java代码。Java代码扫描正在SonarCloud中出现,但实际上我只需要扫描angular应用程序中的javascript。
所以很明显,我们连接到了SonarCloud,但是JavaScript没有显示任何内容。
我将
添加到pom.xml文件中,其效果是在SonarCloud中根本不会出现扫描信息,可能是因为该属性取消了对javascript以外的任何语言的扫描,并且javascript扫描没有正确配置。
我只想扫描angular项目并在SonarCloud中报告结果。可以扫描构建angular项目的dist/portal
目录,也可以扫描src/app
中的底层Typescript文件。
如果Java码也扫一扫也没问题。
感谢您提供的任何帮助或指示。
存储库的目录结构为:
- src
- app
- [rest of angular code]
- e2e
- [testing files]
- deploy
- pom.xml
- [java code for the deploy]
- bitbucket-pipelines.yml
这是pipeline.yml,以及使用maven运行SonarCloud的步骤:
caches:
sonar: ~/.sonar/cache
steps:
- step: &buildArtifacts
name: Build and test
image:
name: [[NAME]]
aws:
access-key: $AWS_ACCESS_KEY
secret-key: $AWS_SECRET_KEY
caches:
- maven
- sonar
script:
- source prepare_environment.sh
- mvn -e clean verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
artifacts:
- artifact/**
这是deploy/
目录中pom.xml
中的属性:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<sonar.language>js</sonar.language>
<sonar.sources>${project.basedir}/../dist/portal</sonar.sources>
</properties>
扫描JS/TS的最佳选择是自定义管道。
如果您不关心Java代码,只需要扫描Javascript和Typescript,那么使用scanner for CLI可能是最好的选择,甚至更具体地说,使用scan pipe最容易在Bitbucket云上配置。您根本不需要使用Maven。
在bitbucket-pipelines
YAML文件中,删除(或注释掉)&buildartifacts
步骤中对org.sonarsource.scanner
的引用:
mvn -e clean verify # org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
然后创建一个新步骤来运行管道:
- step: &buildAndTestSonarCloud
name: Analyze with SonarCloud
caches:
- node
- sonar
script:
- npm update && npm install
- pipe: sonarsource/sonarcloud-scan:0.1.5
variables:
SONAR_TOKEN: ${SONAR_TOKEN}
EXTRA_ARGS: '-Dsonar.sources=src/app'
SONAR_SCANNER_OPTS: -Xmx512m
DEBUG: "false"
您可能还需要通过如下方式扩展该步骤的可用内存:
definitions:
services:
docker:
memory: 2048
最后,调用您的步骤:
pipelines:
default:
- step: *buildAndTestSonarCloud
- step: *buildArtifacts
那应该管用。您应该可以在JS/TS上运行。
如果您还希望运行单元测试并让sonarcloud跟踪您的测试覆盖率,请在NPM Update
行下面添加以下内容:
- npm run test -- --code-coverage --no-watch --no-progress --browsers=ChromeHeadlessNoSandbox
并为您的文件结构配置了以下extra_args
:
'-Dsonar.tests=src -Dsonar.test.inclusions="**/testing/**,**/*.spec.ts" -Dsonar.typescript.lcov.reportPaths=coverage/lcov.info'
这对我有效,应该可以处理完整的配置。
注意:这并不是要查看存储库中的Java代码。如果您确实需要同时扫描Java代码,那么您将需要一个更复杂的Maven实现。
问题内容: 我的PC上没有太多内存,处理器也很弱。尽管到目前为止,netbeans是我最喜欢的IDE,但在我现有的计算机上使用它几乎是难以忍受的,因为打开程序时,项目扫描会自动开始。 有没有办法防止Netbeans扫描项目? 问题答案: 嗨,乔治,我不知道这是否是答案,但是我右键单击并在不需要打开的项目上选择“关闭”。将您过去的所有项目都列出在那里是没有意义的。只需将您正在开发的那个打开。您始终可
我已经在许多地方查阅了下面的错误,但似乎无法就解决方案或一个有效的解决方案达成共识。 “Maven项目扫描错误[项目路径];Java.lang.OutOfMemoryError:Java堆空间” 我将MAVEN_OPTS设置为“-xms512m-xmx1024m-xx:maxpermsize=1024” 我正在导入的项目是一个资产项目,有许多图像、图标、.swf和JS文件。 是不是我还需要什么,或
热生成用于Python文件的Fortify文件。 一个类似的问题是Fortify,如何通过命令开始分析,但它列出了java的步骤。 要为python项目生成报告,必须使用--python-path。我尝试了以下步骤,但没有工作。 第一步:清洁,建造 步骤2:扫描:此步骤应生成fpr文件 这没有生成任何fpr文件。第二步给出如下警告: 我不确定我是否使用了正确的命令。 如何确保在目录和子目录中扫描所
我正在与Bluez一起使用带有USB蓝牙加密狗的TinyCore linux盒。我们使用示例gatt服务器添加电池服务以发送降低的电池电量。使用蓝牙,我们的控制器(USB蓝牙加密狗)的信息显示服务: 我们的目标是在Android应用程序上阅读此内容,但在我们的自定义应用程序和示例BLE扫描应用程序中,我们看到的唯一服务是00001800(通用访问配置文件)和00001801(通用属性配置文件)。
我有一个<代码>。NET Core项目我试图运行Fortify扫描。据我所知,目前还没有VS2017 Fortify插件可用,但我很好奇是否可以使用围绕插件工作,仍然执行Fortify扫描?如果是这样,我怎么能把它合并到我的清洁、翻译和扫描命令中? 当前Fortify版本: