git 分支合并/删除时自动删除 Sonarqube 分支项目
Automatically remove Sonarqube branch projects when git branch merged / removed
我们目前有一个使用 Multibranch Workflow plugin
的詹金斯管道。每个 git 分支执行一个 sonarqube 分析,使用 sonar.branch
属性 创建一个 sonarqube 项目。这非常有用,因为每个分支在合并之前都在分析,当分支与 master 合并并在 GIT 上消失时出现问题,项目在 sonarqube 上继续,需要手动删除。
有没有办法自动完成?或任何其他推荐?
删除SonarQube 分支项目的最佳方法是首先不要将它们推送到服务器。以下是您的选择:
- 使用 SonarLint 直接在您的 IDE
中发现问题
- 如果您使用 GitHub,请使用 GitHub Plugin
- 如果您使用的是 BitBucket,请使用 this plugin or this one
在 SonarSource,我们每天都使用 SonarLint 和 GitHub 插件。最后一种解决方案是使用 api/projects/delete 网络服务手动删除项目。
如果您恰好在使用 Bitbucket Server 和 Sonar for Bitbucket Server add-on,可以通过自动方式执行此清理。要从 Bitbucket Server 启用此设置,请按照下面屏幕截图中显示的 3 个步骤进行操作。
Screenshot of 3 steps
您可以定义如下方法来完成工作,然后根据需要或在某些事件(例如 git 分支 merged/removed 等)需要时调用该方法
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'"
}
我们目前有一个使用 Multibranch Workflow plugin
的詹金斯管道。每个 git 分支执行一个 sonarqube 分析,使用 sonar.branch
属性 创建一个 sonarqube 项目。这非常有用,因为每个分支在合并之前都在分析,当分支与 master 合并并在 GIT 上消失时出现问题,项目在 sonarqube 上继续,需要手动删除。
有没有办法自动完成?或任何其他推荐?
删除SonarQube 分支项目的最佳方法是首先不要将它们推送到服务器。以下是您的选择:
- 使用 SonarLint 直接在您的 IDE 中发现问题
- 如果您使用 GitHub,请使用 GitHub Plugin
- 如果您使用的是 BitBucket,请使用 this plugin or this one
在 SonarSource,我们每天都使用 SonarLint 和 GitHub 插件。最后一种解决方案是使用 api/projects/delete 网络服务手动删除项目。
如果您恰好在使用 Bitbucket Server 和 Sonar for Bitbucket Server add-on,可以通过自动方式执行此清理。要从 Bitbucket Server 启用此设置,请按照下面屏幕截图中显示的 3 个步骤进行操作。
Screenshot of 3 steps
您可以定义如下方法来完成工作,然后根据需要或在某些事件(例如 git 分支 merged/removed 等)需要时调用该方法
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'"
}