Erlang/OTP アプリケーションを開発し、VPS で本番環境にデプロイしたいと考えています。
私はローカル マシンで Erlang コードを開発することにかなり精通しており、私の質問はデプロイに関するものです。
基本的に、Erlang コードをローカル マシンから本番サーバーに移動して実行する、つまりユーザーが利用できるようにするために必要な手順を知りたいと思います。
注: Erlang とコマンド ライン、Erlangコードモジュール、Erlangリリースに関するドキュメントをいくつか読みましたが、必要なタスクをどのように実行するかはまだわかりません。
sudo tasksel
ただし、Erlang ベースのソフトウェアをサーバーにデプロイするのは、 LAMPの場合よりも少し難しいと思います。
Mochiweb、CouchDB ( couchbeam )、boss_dbを依存関係として持つ Erlang/OTP アプリケーションを用意する予定です。
したがって、本番サーバーにすべてのものをデプロイすることに関する私の初心者の質問は次のとおりです。
- Ubuntu Server 12.04 を使用する予定です。本番環境で Erlang/OTP に使用する Linux ディストリビューションのより良い選択肢はありますか?
- すべてのコードをどのように編成する必要がありますか? アプリケーションを /home/myapp/ ディレクトリに配置してから、すべての依存関係を /home/myapp/deps に配置する必要がありますか? それとも、すべての依存関係を /usr/local/lib/erlang/lib に入れる必要がありますか? (code:get_path() によって返されます)。どういうわけか依存関係を定期的に更新する必要がありますか、それとも凍結する必要がありますか?
- サーバーの起動後にアプリケーション全体を起動するにはどうすればよいですか? それはある種のbashスクリプトか何かである必要がありますか?
- Erlang でコードのホット アップグレードが可能であることは知っていますが、それをどのように整理すればよいでしょうか? Rails ではgitでコードを更新できましたが、Erlang の世界に同様のものはありますか?