首页 文章

是否可以将新模块附加到现有的SonarQube项目中?

提问于
浏览
0

我创建了Jenkins作业,它将运行UT SonarQube扫描 . 文件夹结构是我有一个模块,在该模块下运行UT和Sonar扫描的不同组件 . 文件夹结构:M1 / M1_C1 M1 / M1_C2 M1 / M1C3

M2 / M2_C1 M2 / M2_C2

在代码我传递声纳属性如下:

echo 'sonar.projectKey='M1.sonar > sonar-project.properties
echo 'sonar.projectName='M1 >> sonar-project.properties
echo 'sonar.projectVersion=1.0'

echo 'sonar.host.url='$SONAR_URL >> sonar-project.properties
echo 'sonar.login='$SONAR_CREDENTIAL >> sonar-project.properties
echo 'sonar.modules=module1' >> sonar-project.properties

echo 'module1.sonar.projectName='M1_C1 >> sonar-project.properties
echo 'module1.sonar.projectKey='M1_C1.sonar$COMPONENT_KEY >> sonar-project.properties
echo 'module1.sonar.sources='$SRC_DIR >> sonar-project.properties

现在,当我在所有组件上运行作业时,在声纳仪表板中的M1项目下,它会创建M1_C1组件,但在下一次运行时,M1_C1将被删除并添加M1_C2 . 它的类似项目在每次运行时都会重置 .

我希望你们能理解我的问题 .

我希望所有连续的应该添加新模块而不删除旧模块 .

有没有办法在SonarQube中实现上述目标 .

谢谢

1 回答

  • 0

    您必须一起扫描所有来源 . 推送部分数据并附加它是不可能的 .

    这意味着你可以这样做:

    # create sonar-project.properties
    echo 'sonar.projectKey='M1.sonar > sonar-project.properties
    echo 'sonar.projectName='M1 >> sonar-project.properties
    echo 'sonar.projectVersion=1.0' >> sonar-project.properties
    echo 'sonar.host.url='$SONAR_URL >> sonar-project.properties
    echo 'sonar.login='$SONAR_CREDENTIAL >> sonar-project.properties
    echo 'sonar.modules=module1,module2' >> sonar-project.properties
    echo 'module1.sonar.projectName='M1_C1 >> sonar-project.properties
    echo 'module1.sonar.projectKey='M1_C1.sonar$COMPONENT_KEY >> sonar-project.properties
    echo 'module1.sonar.sources='$SRC_DIR >> sonar-project.properties
    echo 'module2.sonar.projectName='M2_C1 >> sonar-project.properties
    echo 'module2.sonar.projectKey='M2_C1.sonar$COMPONENT_KEY2 >> sonar-project.properties
    echo 'module2.sonar.sources='$SRC_DIR2 >> sonar-project.properties
    # execute scanner
    sonar-scanner
    

    但你不能做这样的事情:

    # create sonar-project.properties
    echo 'sonar.projectKey='M1.sonar > sonar-project.properties
    echo 'sonar.projectName='M1 >> sonar-project.properties
    echo 'sonar.projectVersion=1.0' >> sonar-project.properties
    echo 'sonar.host.url='$SONAR_URL >> sonar-project.properties
    echo 'sonar.login='$SONAR_CREDENTIAL >> sonar-project.properties
    echo 'sonar.modules=module1' >> sonar-project.properties
    echo 'module1.sonar.projectName='M1_C1 >> sonar-project.properties
    echo 'module1.sonar.projectKey='M1_C1.sonar$COMPONENT_KEY >> sonar-project.properties
    echo 'module1.sonar.sources='$SRC_DIR >> sonar-project.properties
    # execute scanner
    sonar-scanner
    
    # create sonar-project.properties
    echo 'sonar.projectKey='M1.sonar > sonar-project.properties
    echo 'sonar.projectName='M1 >> sonar-project.properties
    echo 'sonar.projectVersion=1.0' >> sonar-project.properties
    echo 'sonar.host.url='$SONAR_URL >> sonar-project.properties
    echo 'sonar.login='$SONAR_CREDENTIAL >> sonar-project.properties
    echo 'sonar.modules=module2' >> sonar-project.properties
    echo 'module2.sonar.projectName='M2_C1 >> sonar-project.properties
    echo 'module2.sonar.projectKey='M2_C1.sonar$COMPONENT_KEY2 >> sonar-project.properties
    echo 'module2.sonar.sources='$SRC_DIR2 >> sonar-project.properties
    # execute scanner
    sonar-scanner
    

    因为扫描程序的第二次执行会覆盖所有数据 .

相关问题