sonarqube - 如何更新包含带有斜杠的分支名称的声纳 qube 项目密钥
问题描述
我们正在运行 sonar qube 7.0 社区版。我知道在哪里可以找到“更新项目密钥”功能。
为了在切换到 Gitflow 时保留我们多年的项目历史记录,我尝试将某些项目的 key 从 groupId:artifactId:origin/master 重命名为 groupId:artifactId:origin/develop。但是我收到一条错误消息,告诉我斜杠不是允许的项目关键字符。
Weired:我们还有许多其他项目的 key groupId:artifactId:origin/develop 或 groupId:artifactId:origin/feature-xy。
所以看起来可以创建一个带有斜杠的项目键(通过 maven build with branch.name set)但是不可能将项目键更改为这样的值?真的吗?
有什么办法可以更改项目密钥?我什至会使用直接在数据库中更改内容的解决方案。
感谢帮助。
解决方案
由于 sonar qube 似乎没有解决方案,我们直接在 sonar qube 数据库中更改了项目密钥。
使用以下 sql 风险自负。
UPDATE projects SET
NAME=CONCAT(NAME, ' origin/master')
WHERE scope='PRJ' AND project_uuid='yourProjectUuid';
UPDATE projects SET
kee=REPLACE(kee, 'yourGroupId:yourArtifactId', 'yourGroupId:yourArtifactId:origin/master'),
deprecated_kee=REPLACE(deprecated_kee, 'yourGroupId:yourArtifactId', 'yourGroupId:yourArtifactId:origin/master')
WHERE project_uuid='yourProjectUuid';
请注意,对于 maven 多模块项目,您将需要更多的 sql。