簡體   English   中英

Sonarqube插件在Maven構建中不起作用

[英]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上測試):

  1. 查找規則並激活它們:
    • 打開“規則”選項卡
    • 搜索您要啟用的規則
    • 打開規則
    • 點擊質量配置文件旁邊的Activate按鈕
    • 選擇要添加規則的質量配置文件

腳步

  1. 查找質量配置文件並激活規則:
    • 打開質量配置文件選項卡
    • 選擇要添加規則的質量配置文件
    • 點擊總無效規則
    • 激活規則(您也可以使用“ Search for rules...來過濾結果)

腳步

SonarQube Wiki上了解有關質量配置文件的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM