👽

.dockerignoreを生成する「dibo」について紹介

に公開

みなさんは、giboというGitの.gitignoreファイルの雛形を生成してくれるCLIをご存知でしょうか。
私自身、fzfと組み合わせてgiboを愛用してます。

一方で、.dockerignoreファイルについてはdocker initで生成できるものの、「これは別にいらないな」というファイルまで含まれてしまうことがあります。

そこで、giboのように.dockerignoreのテンプレートをサクッと生成できるCLIが欲しいと思いそこで作ったのが、dibo(dockerignore boilerplates)です。

https://github.com/anton-fuji/dibo

diboは、giboと同じ要領で利用できるGo製のCLIになります。

インストールについて

現在、以下の3つの方法でインストール・実行ができます。

Go installを使う

go install github.com/anton-fuji/dibo@latest

Homebrewを使う

brew tap anton-fuji/tap
brew install dibo

Nix Flakesを使う

nix runで実行

nix run github:anton-fuji/dibo -- list

プロファイルへインストール

nix profile install github:anton-fuji/dibo

通常のコマンドと同じように dibo が使えるようになります。

基本的な使い方

.dockerignoreファイルを生成する

こちらは、指定したテンプレートで.dockerignoreファイルを生成します。

dibo init [テンプレート名]

使用可能なテンプレートを確認する

dibo list 
出力例
Available templates:

Common
Go
Java
Node
PHP
Python
Ruby
Rust
dotNet

現時点ではテンプレート数が少ないですが、今後順次追加していく予定です。

このlistを利用するときは、ぜひfzfを組み合わせて使ってみてください!

テンプレートを標準出力する

dibo dump [テンプレート名]

テンプレートの内容を確認したい場合や、既存の.dockerignoreに追記したい場合に便利です。

giboを使っている方にはお馴染みの使い方で利用できます。

# Goのテンプレートで作成
dibo dump Go >> .dockerignore

こちらも以下のようにfzfと組み合わせると便利です。

dibo dump $(dibo list | fzf) >> .dockerignore

さいごに

giboほどクオリティの高いものはまだ作れていませんが、今後改善していきたいと思っています。

ぜひ、diboを使ってみてください!🐋

Discussion