こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。
このブログでは、
僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、
ノウハウなどを書いていきます。
今回は、
- 【Dip Rubocop】DipでRubocopのチェック対象をgit diffで変更のあったファイルのみを対象とする
について書いていきます。
【Dip Rubocop】DipでRubocopのチェック対象を変更のあったファイルのみに絞る
Dipを入れたDocker環境でRubobopを実行していたが、
いちいちファイル指定しないと全ファイルにRubocopが走って面倒だったので、
git diffで変更のあったファイルのみが対象になるようにしました。
結論
Dipを使える状態で下記のようなdip.ymlを作成し、
$ dip cop
を実行すると、
DipでRubocopのチェック対象をgit diffで変更のあったファイルのみを対象にできます。
# dip.yml version: '7.0' environment: COMPOSE_EXT: development compose: files: - docker-compose.yml project_name: example_server interaction: cop: description: Run rubocop service: web default_args: $( git diff --name-only --diff-filter=AMRC | grep -e ".*\.rb" | paste -s - ) command: bundle exec rubocop
- dip
手順
まず、
DipでRubocopを実行できるようにするため、
dip.yml
のinteraction以下に cop
という定義を追加します。
# dip.yml version: '7.0' environment: COMPOSE_EXT: development compose: files: - docker-compose.yml project_name: example_project interaction: cop: description: Run rubocop service: web default_args: $( git diff --name-only --diff-filter=AMRC | grep -e ".*\.rb" | paste -s - ) command: bundle exec rubocop
このinteraction以下に定義した名前が、
dipコマンドの引数として使えます。
(自分が使いやすい名前であれば名前はなんでもいいです)
これでdipコマンドの引数として cop
が使え、
command
で指定されたコマンドを実行するようになります。
$ dip cop
そしてcopの引数(bundle exec rubocopの引数)には、
default_args
で指定されたものが使用されます。
default_args: $( git diff --name-only --diff-filter=AMRC | grep -e ".*\.rb" | paste -s - )
「git diffで変更のあったファイルのみを対象とする」について、
default_args
に指定されている --name-only --diff-filter=AMRC
で実現しています。
git diffの --name-only
オプションについては下記ドキュメントを参照ください。
- git-diff - Show changes between commits, commit and working tree, etc
dip copの後に引数を渡したい場合
dip copの後に引数を渡したい場合は、
普通に $ dip cop
の後にrubocopの引数を渡せばOKです。
(この場合 default_args
で指定されている引数は無視されるので注意)
# 例. auto correctする $ dip cop -a # 例. 差分のみを対象にauto correctする $ dip cop -a $( git diff --name-only --diff-filter=AMRC | grep -e ".*\.rb" | paste -s - )
最後に
下記の表に、
フリーランスエンジニア向けの人気エージェントをまとめてみました。
エージェント選びで悩んでいる方は是非参考にしてみてくださいね★
エージェント | 詳細 | 最高単価/月 | 設立 |
---|---|---|---|
ココナラテック(旧:フリエン)(furien) | 評判をチェック | 180万円/月 | 2011年 |
ギークスジョブ | 評判をチェック | 180万円/月 | 2011年 |
フォスターフリーランス | 評判をチェック | 230万円/月 | 1996年 |
pe-bank(pebank) | 評判をチェック | 200万円/月 | 1989年 |
Midworks(ミッドワークス) | 評判をチェック | 200万円/月 | 2013年 |
レバテックフリーランス | 評判をチェック | 140万円/月 | 2005年 |