CPANへのリリース
さて、
Changesを書く
まずは、Changes
ファイルに書きます。Minillaが出力したChanges
のひな型に{{$NEXT}}
という文字列がありますが、
この{{$NEXT}}
部分がリリース時にv0.
のようにバージョン番号とリリース時間に自動置換され、
アップロード用の設定ファイルを配置する
CPANモジュールをPAUSEにアップロードするための設定も必要です。.pause
というファイルをホームディレクトリ上にパーミッション0600で作成し、
CPANにアップロードする
さあ、minil release
コマンドを実行するだけです。
アップロードされる内容を事前に確認したいのであれば、minil dist
を実行するとCPANにアップロードされるtar
ボールを手もとに作ることができるので、Acme-Songmuv0.
という名前になります。
minil release
を実行するとリリースフローが始まり、
このとき、
バージョンは自動的にサジェスチョンされ、
しばらくするとCPANのサイト上にモジュールの情報が表示され、
おめでとうございます! これで、
CPANモジュールを更新する
CPANモジュールは機能追加やバグ修正を行いながら更新していくものです。そういった新バージョンのリリース作業も、minil release
を実行するだけで簡単に行えます。
プライベートモジュールでのMinillaの活用
前節まで、
基本的には、minilnew
でひな型を作り、
以降では、
CPANへの暴発アップロードを防ぐ
プライベートモジュールをうっかりオープンなCPANにアップロードしてしまうと大変です。Minillaはminil release
で簡単にリリースできるため、
Minillaには暴発アップロードを防ぐためのrelease.
という設定項目が備わっています。minil.
に次のように記述します。
この設定をしておくと、
プライベートモジュール用サーバを構築する
Minillaで作成したプライベートモジュールをプロジェクトに導入する方法はいくつかあります。cpanmgit://
のようにリポジトリから直接インストールする方法や、git submodule
を活用する方法などがお手軽ですが、
OrePAN2::ServerでDarkPANを構築する
プライベートモジュールやCPANの部分ミラー用途で使うイントラネット用のCPANは、OrePAN2::Server
というCPANモジュールがお手軽でお勧めです。
OrePAN2::Server
のインストールはいつものようにcpanm
で行えます。インストールすると、orepan2-server.
というコマンドラインサーバがインストールされます。
CPANモジュールパッケージを配置したいディレクトリでorepan2-server.
を実行すると、
- モジュールダウンロード用URL
- http://
localhost:5888/ orepan - モジュールアップロード用URL
- http://
localhost:5888/ authenquery
実運用ではnginxなどでプロキシさせると思いますが、
MinillaからOrePAN2::Serverへモジュールをアップロードする
先ほど構築したプライベートモジュール用サーバにMinillaを使ってモジュールをアップロードしてみましょう。手順は以下です。
- ❶ アップロード設定ファイルをリポジトリに配置する
( .pause
) - ❷
minil.
にアップロード設定ファイルのパスを設定するtoml ( release.
)pause_ config - ❸
minil release
を行う
.pause
は、OrePAN2::Server
にアップロードするためにupload_
というフィールドが必要です。また、password
フィールドは、.pause
ファイルの内容は次のようになります。
minil.
内で、.pause
ファイルのパスを次のように設定します。
このとき、release.
の設定がある場合は削除してください。
これらのファイルをリポジトリにコミットし、minilrelease
を実行すると、OrePAN2::Server
にアップロードが実施されます。
OrePAN2::Serverにアップロードされたモジュールをインストールする
OrePAN2::Server
にアップロードされたモジュールをインストールしてみましょう。とはいえ、cpanm
の--mirror
オプションを付けるだけで実現できます。
モジュールのインストールが完了すれば成功です。これで、
まとめ
Minillaを使ったCPANモジュールのオーサリングについて一通り解説しました。Minillaが開発されたことにより、
さて、
本誌最新号をチェック!
WEB+DB PRESS Vol.130
2022年8月24日発売
B5判/168ページ
定価1,628円
(本体1,480円+税10%)
ISBN978-4-297-13000-8
- 特集1
イミュータブルデータモデルで始める
実践データモデリング
業務の複雑さをシンプルに表現! - 特集2
いまはじめるFlutter
iOS/Android両対応アプリを開発してみよう - 特集3
作って学ぶWeb3
ブロックチェーン、スマートコントラクト、NFT