毎月恒例のPHP勉強会が4/28に開催されました。 今回はPHPのデプロイツールの紹介とCakePHP3の紹介ということで有用なツールの紹介がありました。 また初参加の方も多く和やかな雰囲気となりました。
- 第77回 PHP勉強会 - PHP勉強会@東京 | Doorkeeper
- 第77回 PHP勉強会のまとめ #phpstudy - Togetterまとめ
- 第77回 PHP勉強会で発表してきました : ぐりぺん
セッションの内容
PHPのデプロイツール Altaxを使ってみた話
木村さんからはPHPのデプロイツールの紹介をして頂きました。 デプロイツールというとPHPのユーザーの中でもCapistranoが幅広く使われていましたが、同様の機構をPHPで実現できるツールということで興味深い内容でした。
公式のサイトの例にもあるとおりPHPで手続き的にデプロイを記述することができます。
サンプルコード
// プラグインのコマンドクラスをオートローディングする
if (is_file(__DIR__ . '/vendor/autoload.php')) require_once __DIR__ . '/vendor/autoload.php';
// 管理ノードをロールに登録する
Server::node("web1.example.com", "web");
Server::node("web2.example.com", "web");
Server::node("db1.example.com", "db");
// タスクの登録
Task::register("deploy", function($task){
$appDir = "/path/to/app";
// それぞれのノードに対して並列にプロセスを実行する
$task->exec(function($process) use ($appDir){
// コマンドをリモートで実行してリターンコードを取得する
if ($process->run("test -d $appDir")->isFailed()) {
$process->run("git clone git@github.com:path/to/app.git $appDir");
} else {
$process->run(array(
"cd $appDir",
"git pull",
));
}
}, array("web"));
});
また作者のkohkimakimotoさんのリポジトリにはバックグラウンド処理や配列の拡張、データベースマイグレーションと意欲的なライブラリが多数公開されておりそちらも見逃せないポイントです。 今回は実際に発表のために調べてくださったようですが、こういったツールを是非実務で使ったという話を聞いてみたいところです。
CakePHP3の紹介
岸田さんからは急遽登壇ということでCakePHP3を触ってみた際の気付きを発表してもらいました。 CakePHP3はdev2まで開発が進み、未実装だったBakeなども実装が進み実際に動かすことができるようになってきています。 マイグレーションや新規開発での採用を検討している方はぜひこの連休の期間にトライしては如何でしょうか。
また発表後にアナウンスされていましたが、html5j Japan Cupの応募のチャンスです。どうやらかなり幅広い作品を受け付けているようですので、ぜひとも応募を検討してみてください。
懇親会
今回は懇親会でのLTが少なかった事もあり、ゆっくりと時間がありました。 オフィスに常備してあるワンナイト人狼を10名くらいで遊びましたが、かなり盛り上がったような気がします。 懇親会の過ごし方の多様化の例として、もうすこし実験してみたいような気がします。