<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>sonarqube | 伪架构师</title>
    <link>/tags/sonarqube/</link>
      <atom:link href="/tags/sonarqube/index.xml" rel="self" type="application/rss+xml" />
    <description>sonarqube</description>
    <generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>zh</language><lastBuildDate>Sun, 29 Jan 2017 05:31:41 +0800</lastBuildDate>
    <image>
      <url>/img/logo-wide.png</url>
      <title>sonarqube</title>
      <link>/tags/sonarqube/</link>
    </image>
    
    <item>
      <title>利用 Gitlab 为 Sonarqube 提供单点登录服务</title>
      <link>/post/oauth-for-sonarqube/</link>
      <pubDate>Sun, 29 Jan 2017 05:31:41 +0800</pubDate>
      <guid>/post/oauth-for-sonarqube/</guid>
      <description>

&lt;p&gt;Gitlab 很贴心的提供了一个 &lt;strong&gt;Oauth 2&lt;/strong&gt; 功能，可以作为 CI/CD 工具链的认证中心来使用。&lt;/p&gt;

&lt;p&gt;Sonarqube 的官方插件只有一个 Github 的支持插件，因此这一功能需要借助第三方插件来完成。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gitlab.talanlabs.com/gabriel-allaigre/sonar-auth-gitlab-plugin&#34; target=&#34;_blank&#34;&gt;项目地址&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://nexus.talanlabs.com/content/groups/public_release/com/synaptix/sonar-auth-gitlab-plugin/1.0.0/sonar-auth-gitlab-plugin-1.0.0.jar&#34; target=&#34;_blank&#34;&gt;下载地址&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;实验环境&#34;&gt;实验环境&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gitlab 地址&lt;/strong&gt;：&lt;code&gt;http://10.211.55.75:32021&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sonarqube 地址&lt;/strong&gt;：&lt;code&gt;https://10.211.55.75:32032/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;这里需要注意的是，要使用这一功能，Sonarqube 必须使用 https 协议提供服务。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&#34;gitlab-设置&#34;&gt;Gitlab 设置&lt;/h2&gt;

&lt;p&gt;访问 admin/applications/new，新建应用接入。&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;images/gitlab.oauth_.app_.info_.png&#34; alt=&#34;new app&#34; /&gt;&lt;/p&gt;

&lt;p&gt;填写应用信息和地址之后提交，Gitlab 会显式 App ID 和 Token。&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;images/gitlab.oauth_.login_.png&#34; alt=&#34;app info&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;sonarqube-设置&#34;&gt;Sonarqube 设置&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;http://10.211.55.75:32021/admin/applications&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;插件下载后，复制到 Sonarqube 的 plugins 目录中（一般在 &lt;code&gt;$SONARHOME/extensions/plugins&lt;/code&gt; 目录下），然后重启 Sonarqube。&lt;/p&gt;

&lt;p&gt;Sonarqube 重启之后，在 &lt;code&gt;updatecenter/installed&lt;/code&gt; 会看到新的 &lt;strong&gt;GitLab Auth&lt;/strong&gt; 插件，启用之后，可以进行后续设置。&lt;/p&gt;

&lt;p&gt;访问路径 &lt;code&gt;settings?category=gitlab&lt;/code&gt;，会看到 Gitlab 认证的设置。&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;images/sonarqube.gitlab.oauth_.png&#34; alt=&#34;Git lab settings&#34; /&gt;&lt;/p&gt;

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

&lt;h2 id=&#34;测试&#34;&gt;测试&lt;/h2&gt;

&lt;p&gt;新的登录界面如图所示：&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;images/gitlab.oauth_.new_.application.png&#34; alt=&#34;login&#34; /&gt;&lt;/p&gt;

&lt;p&gt;点击 Gitlab 图标会进入 Gitlab 认证界面，跟其他 Oauth 情况类似，就无需继续介绍了。&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
