search
LoginSignup
3

More than 1 year has passed since last update.

posted at

Dockerでgit commit時に静的解析をする

はじめに

静的解析ツールを使って、コーディング規約に沿ってコーディングされているかを解析できます。
そして、その解析をコミット時に行い、規約違反していたらコミットできないpre-commitというGemがあります。
今回は、その設定でつまづいたのでここに残しておきます。

参考にしたのはこちらの記事です。
rubocop + pre-commitで規約違反のコードをコミットできないようにする

Gemの導入

今回、rubocop-airbnbという規約が決まっているgemを導入してみました。

rubocop-airbnbの使い方はこちらを参考にしてください。

group :development do
 gem 'pre-commit'
 gem 'rubocop-airbnb'
end

gemをインストールします。

$ docker-compose build

ここで、dockerの場合は下記の設定が必要になります。

$ git config pre-commit.ruby "docker-compose run --rm web bundle exec ruby"

# 以下の設定だとpre-commitが動いてくれない
$ git config pre-commit.ruby "bundle exec ruby"

また、参考にした記事のコマンドで、bundleから始まるものは基本的にこのように使う必要があるみたいです。

$ docker-compose run --rm web bundle exec #以下のコマンド

まとめ

Dockerを使う場合は、設定なども含めてdockerコマンドをつける必要があるため、注意が必要ですね!

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
What you can do with signing up
3