Hateburo: kazeburo hatenablog

SRE / 運用系小姑 / Goを書くPerl Monger

xbuildとCartonを利用したPerlアプリケーションのデプロイ環境の構築

最近、新しいサーバでサービスを動かしたりベンチマークを取る場合には、モリスさんのxbuildを使ってる

https://github.com/tagomoris/xbuild

xbuildを使うとローカルの任意のディレクトリにPerl(Ruby,Node.js,PHP,Pythonにも対応)のランタイムを設置してくれる。perlbrewやplenvとどこが違うのかというと、xbuildは単にインストールするだけでバージョン切り替えなどの機能は提供しない。使うにはインストール後にPATHを通す必要がある。また、デフォルトでCartonやcpanm、Server::Starterがインストールされてるのも特徴。

使い方

$ git clone https://github.com/tagomoris/xbuild.git
$ ./xbuild/perl-install 5.18.1 /path/to/local/perl-5.18
$ export PATH="/path/to/local/perl-5.18/bin:$PATH"

上のperlのインストールで CartonやServer::Starterも入るので、アプリケーションのデプロイと起動は

$ cd /path/to/app
$ carton install
export PATH="/path/to/local/perl-5.18/bin:$PATH"
start_server --port .. --dir /path/to/app -- carton exec -- plackup ..

もしくは

/path/to/local/perl-5.18/bin/start_server --port .. --dir /path/to/app -- /path/to/local/perl-5.18/bin/carton exec -- plackup ..

と出来る。簡単!