合并/删除git分支时自动删除Sonarqube分支项目

Fer*_*ado 9 jenkins sonarqube sonarqube-ops

我们目前有一个jenkins管道使用Multibranch Workflow plugin.每个git分支执行一个sonarqube分析,使用该sonar.branch属性创建一个sonarqube项目 .这非常有用,因为在合并之前正在分析每个分支,当分支与master合并并在GIT上消失时问题出现,项目继续在sonarqube上并且需要手动删除.有没有办法自动完成?或任何其他推荐?

Ter*_*rce 5

删除SonarQube分支项目的最佳方法是首先不要将它们推送到服务器.以下是您的选择:

在SonarSource,我们每天都使用SonarLint和GitHub插件.最后一个解决方案是使用api/projects/delete Web服务手动删除项目.

  • 我们和Travis有同样的"问题".这就是为什么我们的脚本在运行SonarQube分析之前会做一些条件检查(我们是否在master分支上). (2认同)

Gen*_*tle 2

您可以如下定义一个方法来完成这项工作,然后根据您的需要或在某些事件(例如 git 分支合并/删除等)需要时调用该方法。

def deleteSonarProject() {
    def sonarToken = "-your admin credential token generate it from sonarServer-"
    def url = "http://yourBaseURL:portNumber/api/projects/delete"
    sh "curl -u ${sonarToken}: ${url} -d 'project=projectKey'"
}
Run Code Online (Sandbox Code Playgroud)