2016年 4月 7

amon2-setup.pl --flavor=Large MyApp で作成したLarge flavorのAmon2アプリのリリース管理にMinillaを使ってみようとしらうまくいかなかったので試行錯誤してみた。

まずはMinillaに最適化

minil migrate

Minillaで管理するのに必要なファイルの作成や.gitignoreに追加等してくれる。

必要なディレクトリに空ファイルを作成

Large flavorのアプリで言うと db ディレクトリが必要だが、amon2-setup.plで作成した状態だと、.gitignoreは下記の状態になっている。

db/.gitignore

*
!.gitignore

これを下記のように修正して、db/gitkeep という空ファイルを新規作成する(gitkeepというファイル名でなくてもいい)

db/.gitignore

*.db
!.gitignore

touch db/gitkeep

当然、git add & git commitは忘れずに。こうする事で minil test する時にディレクトリが作成され、ログファイルやdbファイルが無い!というようなエラーにならない。

ハマりどころ

注意点は ドット で始まるファイル(例えば.gitkeep)ではダメだということ。 理由はドットで始まるファイルしか無いディレクトリはminil test時に.build内に作成されないため。proveコマンドだとテスト通るけどMinillaのtestだと通らない。

他にもログファイルの保存用ディレクトリ等にも同じように対策することが出来る。ディレクトリが必要だけど、ファイル自体は管理しない時にはこのhackが有効かも。

雑感

Changesを使ってリリースログ書いたり、git tagをつけてくれたり、githubにpushしたりを自動化出来るので便利。問題はMinillaの使い方として合っているのか?ってこと。どうなんだろ?

追記2016-6-7

ドットから始まるファイルを含ませたい場合はminil.tomlで設定可能っぽい

Minilla – CPAN モジュールオーサリングツール – perldoc.jp

FileGatherer.include_dotfiles
[FileGatherer]
include_dotfiles = false
デフォルトでは、ドットから始まるファイルは、ディストリビューションに含まれません。 この設定はファイルとディレクトリの両方に及びます。

More from my site

  • Amon2のロギングにLog::Handlerを使うAmon2のロギングにLog::Handlerを使う Amon2でログを取るにはLog::Minimalが推奨されている。 Logging — Amon2 6.11 documentation Log::Minimalが推奨されているけどファイルに書き出すのにコード書く必要があるっぽいので別のモジュールを探す。 ログモジュールのベンチマーク - […]
  • Amon2::Plugin::LogHandlerってモジュール書いてみたAmon2::Plugin::LogHandlerってモジュール書いてみた Minillaでモジュールを作る練習として Amon2のロギングにLog::Handlerを使う で書いたコードをモジュール化してみる。 Amon2-Plugin-LogDispatch […]
  • Minillaを触ってみるMinillaを触ってみる cpanm Minilla minil new My::Mod My-Modディレクトリが作られてその中にモジュールのテンプレートがさくせいされる。 githubにあたらしいリポジトリを作る App::phつかうと便利らしいので入れる。 ディレクトリ名でリポジトリが作られる p5-my-mod […]
  • Minillaを使ってMojoliciousプラグインを開発するMinillaを使ってMojoliciousプラグインを開発する 1. Mojoliciousプラグインの雛形作成 $ mojo generate plugin MyPlugin カレントディレクトリに Mojolicious-Plugin-MyPlugin というディレクトリ名で雛形作成される。 2. ドキュメントにAuthor情報を追記する。 $ cd ./Mojolicious-Plugin-MyPlugin $ vi […]
  • Net::Google::Analytics プロファイルIDの設定Net::Google::Analytics プロファイルIDの設定 Net::Google::Analytics - Simple interface to the Google Analytics Core Reporting API - metacpan.org プロファイルIDの設定 # Insert your numeric Analytics profile ID here. You can find it under # […]
  • mac(Snow Leopard)にDBD::SQLiteを入れるmac(Snow Leopard)にDBD::SQLiteを入れる 参考:Mac(Leopard) に DBD::SQLite をいれる時には注意 | Supernova 参考ブログの手順だと Please use 'o conf commit' to make the config permanent! と怒られるのでちょと修正。 sudo cpan cpan[1]> o conf commit […]

Filed under: Amon2,perl

Trackback Uri



コメントする