Nullyのぶろぐ

仙台から東京へ転勤したエンジニアのブログ

SideCIを超ざっくりと使ってみた

かなりご無沙汰な状態です。はい。

最近、仕事でよくRailsを使って開発しており、レビューやセキュリティホールの心配やら、何かと確認することがよくあります。

いろいろとコードレビューを自動化してくれるサービスはありますが、つい最近国内からも同様のサービスがリリースされました。

その名は「SideCI」。

国内企業のアクトキャットさんが提供しております。

公式ページに記載されている通り、ものっそい数のアプリをリリースしておられます。

累計DL数も200万近く達成しており、度肝抜かれました。

と、まえおきが長くなりましたが早速SideCIを超絶ざっくりレビューしていきたいと思います!

SideCIとは

Githubと連携してRailsのコードを自動的にレビューしてくれます。

レビュー精度はまだ試していないのですが、レビューだけでなく、リリース情報やセキュリティホールの検知などをおこなってくれるらしいです。

※「らしい」なのはまだ検知してもらってないためです。

連携してみる

Githubアカウントと連携するため「Sign up With Github」を押します。

f:id:nully:20140512232539p:plain

すると、GithubOAuth認証画面が出てきますので、アクセス権などを理解した上で同意ボタンを押します。

※スクショ撮影忘れです。。

連携が完了すると以下のようにリポジトリ一覧が表示されます。

f:id:nully:20140512233023j:plain

表示されたリポジトリ一覧の中から「Railsプロジェクト」を選択して、画面下部にある「保存」を押します。

完了後の画面

アカウント連携が完了すると以下の様な画面が表示されます。

f:id:nully:20140512233135p:plain

美しいですね。

(個人的には角丸よりも角があるデザインが好きなので)

ダッシュボードというだけあり、gemのアップデート情報やコードの品質、セキュリティ情報が一望出来ます。

ニュースフィード

ニュースフィードでは同様にRailsBestPractice(Railsらしいコード品質)とgemのアップデート情報が閲覧出来ます。

最新かそうでないかが「青」と「赤」で分けられ表示されます。

赤がいっぱいある場合はアップデートを検討したほうがいいでしょう。

f:id:nully:20140512233610p:plain

セキュリティ

セキュリティではpushされたコードのセキュリティーホールが一覧化されるのかな?

ざっくりとしか使ってないのでよくわかりません!!(キリッ

ともあれ、セキュリティ情報をこの画面に出力してくれるはずです。

f:id:nully:20140512233818p:plain

コード品質

ここに来てやっとサンプルらしいサンプルが!!!

コード品質では、使ってないコードなどをピックアップして画面で知らせてくれます。

どのコードがどの行で定義されていて使われていないかなどがわかります。

f:id:nully:20140512234331p:plain

「これつかわれてねーからこれ消せよな」的なコメントが書かれてコードをちゃんと監視してくれます。

f:id:nully:20140512234527p:plain

ロボットなのに素晴らしいですね。

gem管理

gem管理では、プロジェクトで利用しているgemファイルのすべてのバージョンをチェックし、最新があれば最新バージョンを教えてくれます。

今回はrails 3.2.16で作ってみましたが、案の定4.1.1を提案されました。

f:id:nully:20140512234708p:plain

最近のロボットはおせっかいすぎるほど素晴らしいですね。

ここまで見てくれるならいっその事アップデートもしてくれてもいいんじゃない?とも思えてきます。

設定

設定ではHipChatやChatworkなどのチャットサービスにも通知することが設定出来ます。

飛ばしたいルームIDとトークンさえ渡せばエンジニアが見ていなくともロボットが「勝手に見たからおまいらも見ろ!」と言わんばかりにチャットをバシバシ投げてくれることでしょう。

f:id:nully:20140512235020p:plain

本当によく出来たロボットですね。

感動するばかり。

終わりに

時代は自動化の時代へ。

自動化することで本来エンジニアが背負うべき諸タスクをロボットが機械的に解決してくれます。

自動化できるところはバシバシ自動化していくべきだなと感じる午後23時台でした。

実案件で使うにはまだ時期が早い気もしますが、実案件などでも利用出来たらいいなぁと思います。

見ているかわかりませんが、角さん、他の言語への対応もできたらお願いします!!!!(切実

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング

実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング