1、更换sonar服务器后,如何让之前的令牌还能运行。
如果更换sonar服务器前,项目组是使用令牌进行sonar代码扫描的,更换服务器后,令牌已经不存在了,可以使用如下方法让令牌在新的服务器上也能使用(开发同学就不用修改运行sonar的命令了)。
1)旧的sonar服务器上创建令牌:
输入令牌名称:test10
生成令牌:d81571380ef73de42df02efadb8e296d7657d40d
2)sonar代码扫描命令:
mvn clean compile -P sonar-test sonar:sonar -Dsonar.projectKey=projectName -Dsonar.host.url=http://sonar.test.com -Dsonar.login=d81571380ef73de42df02efadb8e296d7657d40d
3)使用-Dsonar.login的键值,通过sha384散列/哈希算法,计算出哈希值,如下:
键值明文:d81571380ef73de42df02efadb8e296d7657d40d
哈希值:3a19df6932e9c31ee431883dcee0dc15d9282338c776b30f3c948f60de6c815a73665fb5bb77f235efe83885843b94ee
4)将哈希值,保存到sonar.public.user_tokens.token_hash字段中,旧的令牌就可以继续使用了。(name可以与之前不同,无影响。)
可以参考如下insert语句:
INSERT INTO "public"."user_tokens"("id", "user_uuid", "name", "token_hash", "created_at", "last_connection_date") VALUES (1, 'admin', 'test10', '3a19df6932e9c31ee431883dcee0dc15d9282338c776b30f3c948f60de6c815a73665fb5bb77f235efe83885843b94ee', 1587951812016, NULL);