heroku labs:enable user-env-compile
の廃止に対応するために、heroku-buildpack-cl を fork しました。heroku labs:enable user-env-compile の廃止について
Buildpack を使うほうの対応は簡単で、単にheroku labs:enable user-env-compile
を使うのをやめるだけです。 既に設定していた
heroku config:add
は、そのままでちゃんと compile プロセスに渡されます。Buildpack を作るほうでは、
bin/compile
の新しい第 3 引数に渡されてくる ENV_DIR
ディレクトリから環境変数を読み込む必要があります。 やりかたは、 Buildpack API | Heroku Dev Center
に記載されている、以下のコードを参考にすれば (というか、まるコピで OK) np です。
export_env_dir() {
env_dir=$1
whitelist_regex=${2:-''}
blacklist_regex=${3:-'^(PATH|GIT_DIR|CPATH|CPPATH|LD_PRELOAD|LIBRARY_PATH)$'}
if [ -d "$env_dir" ]; then
for e in $(ls $env_dir); do
echo "$e" | grep -E "$whitelist_regex" | grep -qvE "$blacklist_regex" &&
export "$e=$(cat $env_dir/$e)"
:
done
fi
}
Heroku Buildpack Common Lisp について
サンプルアプリも用意したので、その readme を読んでもらえれば、簡単に動くサンプルが手に入ります。
…だけではさみしいので、以下、日本語で手順を書いときます。
- もしまだ Heroku のアカウントを持ってないなら、まず Heroku のアカウント を作って、Heroku Toolbelt をインストールしてください。
- サンプルアプリを fork してください。
cd heroku-cl-example
してください。- Heroku Buildpack Common Lisp を使って、Heroku アプリを作ってください。
こんなかんじです。
heroku create -s cedar --buildpack https://github.com/craftsmanship/heroku-buildpack-cl.git
- Common Lisp の実装を選択してください。
heroku config:add CL_IMPL=sbcl
またはheroku config:add CL_IMPL=ccl
- Web Server を選択してください。
heroku config:add CL_WEBSERVER=hunchentoot
またはheroku config:add CL_WEBSERVER=aserve
- SBCL のソースエンコード問題を回避するには、エンコードを指定してください。
heroku config:add LANG=en_US.UTF-8
- デプロイしてください。
git push heroku master
Cloud で Common Lisp を使いたいと考えている人は、利用してみてください。
0 件のコメント:
コメントを投稿