12
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

SonarQube Developer版とCommunity版を導入しての比較

はじめに

こんにちは。
ナビタイムジャパンで社内JiraやBitbucketの運用をしている TAKE です.
弊社ではSonarQubeのCommunity版とDeveloper版の2つを使い分けています.
そこでわかったそれぞれの利点についてお伝えいたします.

結論

どちらか片方だけに絞るよりプロダクトや内部ツールなどリポジトリの重要度によって使い分けることが大切だと思います.

比較

料金

一番大きいところはこれですね.
下記の表のようになっています.
price.png

行数毎の課金は
* 100,000行 14,470円
* 250,000行 108,526円
* 500,000行 217,086円
* 1000,000行 361,810円

※ 2019/12/11時点の為替です

すべてのリポジトリにいれるとなると,しっかり検討したくなるお値段設定ですね.

環境構築

Community版が圧倒的に楽でDockerとdocker-composeで環境構築が可能です.
公式のGithubにdocker-compose.yamlのレシピもおいてあるのでコピーして起動するだけですね.

Developer版については公式ページからDLしたあとに,環境構築をして起動のためのshellを叩く形になります.
DBはデフォルトだとH2 Databaseを利用するのでPostgresなどを利用したい場合は /conf/sonar.properties の設定が必要になります

機能

対応言語

Community版に比べてDeveloper版が6言語多いです.
中にはC++やSwiftなどの利用者の多い言語も含まれるためこの段階でDeveloper版となる方もいるかもしれません.
Python,JS,TS,Go,KotlinなどはCommunity版でも解析してくれるので差分をみて確認してください
https://www.sonarqube.org/downloads/

Sonarには拡張機能があり,公式でなくとも言語を導入できる場合もあるのでCommunity版を選択することもできるかもしれません!
(参考にC++のフリープラグインを共有します)
https://github.com/SonarOpenCommunity/sonar-cxx

解析ブランチ

Developer版はブランチ名を渡してあげることによってブランチ解析が可能です.
しかしCommunity版はmasterブランチしか解析できません.
他のブランチを解析したい場合はmasterブランチだと偽装してsonarqubeにソースコードを解析してもらう必要があります.

ブランチ毎に解析することによってmasterにバグや複雑なコードがマージされる前に防ぐことができます.
バグを起こしたくない重要なプロダクトで利用すると良さそうですね.

※ Developer版の課金は解析した各ブランチの一番多かったソースコードで発生します.

プルリクエスト

圧倒的にDeveloper版が便利です.
プルリクだした段階でたくさんメッセージを出してくれます.
レビュアーにいっぱい指摘されて申し訳なさでいっぱいになる私でも機械だったら安心です.
bitbucket.png

まとめ

comparison.png

表のようにそれぞれに利点があるのでリポジトリ毎に使い分けるとよいです!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
12
Help us understand the problem. What are the problem?