利用 Gitlab 为 Sonarqube 提供单点登录服务

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,新建应用接入。

new app

填写应用信息和地址之后提交,Gitlab 会显式 App ID 和 Token。

app info

Sonarqube 设置

http://10.211.55.75:32021/admin/applications

插件下载后,复制到 Sonarqube 的 plugins 目录中(一般在 $SONARHOME/extensions/plugins 目录下),然后重启 Sonarqube。

Sonarqube 重启之后,在 updatecenter/installed 会看到新的 GitLab Auth 插件,启用之后,可以进行后续设置。

访问路径 settings?category=gitlab,会看到 Gitlab 认证的设置。

Git lab settings

这里建议打开允许注册的选项,如果一个用户账号在 Gitlab 中存在,却不存在于 Sonarqube 中,打开这一功能就可以自动进行账号的传播。

测试

新的登录界面如图所示:

login

点击 Gitlab 图标会进入 Gitlab 认证界面,跟其他 Oauth 情况类似,就无需继续介绍了。

Avatar
崔秀龙

简单,是大师的责任;我们凡夫俗子,能做到清楚就很不容易了。

comments powered by Disqus
下一页
上一页