Gitlab 很贴心的提供了一个 Oauth 2 功能,可以作为 CI/CD 工具链的认证中心来使用。
Sonarqube 的官方插件只有一个 Github 的支持插件,因此这一功能需要借助第三方插件来完成。
实验环境
-
Gitlab 地址:
http://10.211.55.75:32021
-
Sonarqube 地址:
https://10.211.55.75:32032/
这里需要注意的是,要使用这一功能,Sonarqube 必须使用 https 协议提供服务。
Gitlab 设置
访问 admin/applications/new,新建应用接入。
填写应用信息和地址之后提交,Gitlab 会显式 App ID 和 Token。
Sonarqube 设置
http://10.211.55.75:32021/admin/applications
插件下载后,复制到 Sonarqube 的 plugins 目录中(一般在 $SONARHOME/extensions/plugins
目录下),然后重启 Sonarqube。
Sonarqube 重启之后,在 updatecenter/installed
会看到新的 GitLab Auth 插件,启用之后,可以进行后续设置。
访问路径 settings?category=gitlab
,会看到 Gitlab 认证的设置。
这里建议打开允许注册的选项,如果一个用户账号在 Gitlab 中存在,却不存在于 Sonarqube 中,打开这一功能就可以自动进行账号的传播。
测试
新的登录界面如图所示:
点击 Gitlab 图标会进入 Gitlab 认证界面,跟其他 Oauth 情况类似,就无需继续介绍了。
文章来源于互联网:利用 Gitlab 为 Sonarqube 提供单点登录服务