memori

Alternative facts

HHVM on Heroku で Hack!

さて、今話題の Hack ですが、気軽に試したいけど HHVM とかインストールするのめんどくせーよ!っていう方、居ますよね。

そんな時、heroku-buildpack-hhvm をつかえば、ほんの数ステップで Heroku で Hack を試してみることが出来ますよ!

簡単に Hello World を作るまでの解説をすると、

1. git リポジトリ作る

git リポジトリを最初に作る必要も無いんですが、後々手間がかからないので僕はまず作っちゃいます。

mkdir hhvm-on-heroku-hack
cd hhvm-on-heroku-hack
vim index.php // <?hh echo "Hello Hack!";
git init
git add index.php
git commit -m "Initial commit"

2. Heroku アプリを作成する

heroku-buildpack-hhvm を buildpack に指定するだけですよ! アプリが作成されると、git remote (heroku) に heroku の git リポジトリ URL が登録されます。

heroku create --buildpack https://github.com/hhvm/heroku-buildpack-hhvm

3. デプロイ

はい、完了。

git push heroku master

僕がこの手順で作ったページは、http://hhvm-on-heroku-hack.herokuapp.com からアクセスできるようにしておきました。あと、デプロイしているのはこんなかんじ のファイルです。

簡単でしょ?

HHVM で動かそうとしていた Symfony2 の簡単なアプリが動くようになった

heroku-buildpack-hhvm が最新版にアップデートされたので、以前に失敗していた例のアプリ に再挑戦してみたら、ようやく動くようになった。

ただ、そのまま deploy し直すだけではうまくいかなかった。

まずは、Doctrine の この PR の問題でコケてしまい、安直に Symfony のバージョンを上げてみたもののやっぱり駄目。この PR が取り込まれたリリースがまだないのと、doctrine-dbal だけを dev-master にしてやろうかとも思ったんだけど、そうするとこんど DoctrineBundle の依存関係が壊れるので駄目。

まあ、そんな頑張るものじゃないしな。と思って composer.jsonpost-install-cmd で PR が取り込まれているバージョンの該当ファイルを curl で上書きするっていう、場当たり的にもホドがあるだろうという強引な解決で乗り切った。

今回試したアプリは、実際に Heroku で動かしているので、興味があればご覧くださいませ。

あとで書く:

  1. 946oss 忘年会に参加してきた話
  2. 勝手に祝う会を開催してもらった話