読者です 読者をやめる 読者になる 読者になる

SideCI Blog

継続的インテグレーションツール(CI)のSideCIが運営しています。コード品質向上や生産性向上など、ソフトウェアエンジニアに役立つCI全般について記事を投稿しています。

RuboCopの自動修正がSideCI上から行えるようになりました。

SideCI Update

こんにちは。最近ドラゴンクエストビルダーズに時間泥棒されている@vexus2です。

今週のSideCIのアップデート情報です。

RuboCopの自動修正をSideCIから行えるようになりました。

f:id:sideci:20160205132830p:plain

RuboCopには --auto-correct オプションを付加すると修正可能なコードを自動修正してくれる機能があるんですが、それらをSideCI+GitHubのPullRequestのみで行えるようになりました。

具体的には、「Pull Requestに対するRuboCopの指摘を修正するPull RequestをSideCIから作成」し、それをマージすることでローカルで修正せずとも反映できるという形です。RuboCopの自動修正の対象は 該当Pull Request内のコミットで変更があったファイル になります。(差分箇所のみではない点をご留意下さい!)

また、RuboCopの各項目ごとにAuto-correctを実行する/しないなどのオプションは .rubocop.yml でカスタマイズ可能です。

事前設定

SideCI上の 解析ツール設定 からRuboCopを有効にしておきます。また、 GitHub上にコメントを行わない オプションは 外して おいてください。 f:id:sideci:20160205122113p:plain

実行方法

RuboCop自動修正は2つの実行方法があります。

1つ目はSideCIの Pull Requestに対するRuboCopの指摘 から RuboCopの指摘を自動修正 を実行するパターン、 f:id:sideci:20160205122511p:plain

2つ目はGitHubのPull Requestにコメントされるリンクから実行するパターンです。 後者の方は RuboCopの指摘が1件以上あるPull Request に対してコメントされる形で修正リンクが付記されます。 リンク押下で即時Pull Request生成が実行されます。

f:id:sideci:20160205133548p:plain

確認方法

自動修正Pull Requestが生成されると、修正元のPull Requestにコメントが付与されます。

f:id:sideci:20160205135149p:plain

最後に、生成されたPull Requestを目視レビューのうえマージしたら完了です。

f:id:sideci:20160205135209p:plain

文章だと動き伝わりにくい機能ですが、実際使ってみるととても便利な機能なのでぜひ試してみてください!