![](/img/trans.png)
[英]It is possible to break Maven builds when SonarQube detects new violations, without using the Build Breaker plugin?
[英]Sonarqube plugin not working on maven build
我已基于此示例创建了一个插件。 我添加一些日志以检查是否一切都加载良好。 当我启动SonarQube服务器时,将加载主类并加载所有规则:
加载插件:org.sonar.samples.java.MyJavaRulesPlugin添加规则:org.sonar.samples.java.checks.SpringControllerRequestMappingEntityRule添加规则:org.sonar.samples.java.checks.AvoidAnnotationRule添加规则:org.sonar.samples.java .checks.AvoidBrandInMethodNamesRule添加规则:org.sonar.samples.java.checks.AvoidMethodDeclarationRule添加规则:org.sonar.samples.java.checks.AvoidSuperClassRule添加规则:org.sonar.samples.java.checks.AvoidUnmodifiifiableListRule添加规则: .sonar.samples.java.checks.MyCustomSubscriptionRule添加规则:org.sonar.samples.java.checks.SecurityAnnotationMandatoryRule
但是当我执行本地maven构建点到我的服务器时: mvn sonar:sonar
仅加载了插件。
加载插件:org.sonar.samples.java.MyJavaRulesPlugin
这是构建服务器的Dockerfile
:
FROM openjdk:8-alpine
ENV SONAR_VERSION=7.1 \
SONARQUBE_HOME=/opt/sonarqube \
# Database configuration
# Defaults to using H2
SONARQUBE_JDBC_USERNAME=sonar \
SONARQUBE_JDBC_PASSWORD=sonar \
SONARQUBE_JDBC_URL=
# Http port
EXPOSE 9000
RUN addgroup -S sonarqube && adduser -S -G sonarqube sonarqube
RUN set -x \
&& apk add --no-cache gnupg unzip \
&& apk add --no-cache libressl wget \
&& apk add --no-cache su-exec \
&& apk add --no-cache bash \
# pub 2048R/D26468DE 2015-05-25
# Key fingerprint = F118 2E81 C792 9289 21DB CAB4 CFCA 4A29 D264 68DE
# uid sonarsource_deployer (Sonarsource Deployer) <infra@sonarsource.com>
# sub 2048R/06855C1D 2015-05-25
&& gpg --keyserver ha.pool.sks-keyservers.net --recv-keys F1182E81C792928921DBCAB4CFCA4A29D26468DE \
&& mkdir /opt \
&& cd /opt \
&& wget -O sonarqube.zip --no-verbose https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-$SONAR_VERSION.zip \
&& wget -O sonarqube.zip.asc --no-verbose https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-$SONAR_VERSION.zip.asc \
&& gpg --batch --verify sonarqube.zip.asc sonarqube.zip \
&& unzip sonarqube.zip \
&& mv sonarqube-$SONAR_VERSION sonarqube \
&& chown -R sonarqube:sonarqube sonarqube \
&& rm sonarqube.zip* \
&& rm -rf $SONARQUBE_HOME/bin/*
ADD target/java-custom-rules-1.0-SNAPSHOT.jar $SONARQUBE_HOME/extensions/plugins/
VOLUME "$SONARQUBE_HOME/data"
WORKDIR $SONARQUBE_HOME
COPY run.sh $SONARQUBE_HOME/bin/
ENTRYPOINT ["./bin/run.sh"]
我怎样才能让我的插件在Maven构建中验证我的代码?
您必须在绑定到项目的质量配置文件中激活规则。 您可以通过以下两种方式启用它们(在SonarQube 7.1上测试):
Activate
按钮 Search for rules...
来过滤结果) 在SonarQube Wiki上了解有关质量配置文件的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.