我需要通过 jenkins 中的 SONAR 分析许多项目。这些项目包括 ant 和 maven 项目。我为詹金斯的每个SONAR分析创建了一个单独的工作。
是否可以使用单个jenkins作业,我可以从每个声纳作业中传递一些参数,然后查看仪表板?
如果是这样,我该怎么做呢?
答案 0 :(得分:1)
此解决方案适用于Subversion和Maven。
_common-sonar
具有以下设置:
$PREVIOUS_SVN_URL
,签出策略:“总是签出一份新的副本” install
_common-sonar
PREVIOUS_SVN_URL=${SVN_URL}
现在,当作业分析完成时,它会触发分析作业。分析作业检出第一个作业使用的相同SVN URL。
此解决方案无需脚本或复制工作区即可运行,但存在明显的局限性和非理想的功能:
mvn install
非常欢迎改进的想法!
延迟改进编辑:
您也可以通过直接使用SonarQube来调用独立的SonarQube分析
,而不是使用maven构建(在_common-sonar中)除SVN URL外,您还可以为声纳中的构建标记和项目名称添加参数。只需添加
。
在_common-sonar中,您可以将其与 $ {NAME} 和 $ {BUILDTAG} 一起使用。
答案 1 :(得分:0)
在我曾经有过的类似需求中,我创建了一个单独的工作,它抽取了几个项目的来源(每个项目都在作业工作区的子文件夹中)。 然后,我编写了一个简单的shell脚本,它遍历所有目录并运行声纳分析 这个工作有声纳后置构建插件,显示了汇总报告 不幸的是,我几年前没有一个例子,但你可以让它发挥作用。
我希望这会有所帮助。