14
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-12-21

はじめに

こんにちは。
ナビタイムジャパンで社内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

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

14
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?