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 件のコメント:
コメントを投稿