21

Erlang / OTPとRiak(Core、KV、Pipeなど)に慣れてきて、オープンソースの分散アプリケーションを順番に構築しようとしています。私たちのプロジェクトには、erlang_js、protobuffsなどのツールだけでなく、RiakKVなどの実行する必要のあるサービスなどの多くの依存関係があります。

Python / Ruby / Node.jsでは、モジュールがプロジェクトの相対的な標準サブディレクトリに配置されている場合、それらを参照し、後でリリースにパッケージ化できます。プロジェクトのディレクトリでシェルを起動したり、モジュールで遊んだり、テストを実行したりすることができます。これらはすべて、適切な方法に従っていれば簡単です。

Erlang / OTPで開発環境を整理するためのベストプラクティスは何ですか?すべての依存関係に到達可能(そして最新バージョンに簡単に更新可能)、実行中のノードへのシェルアクセス、テスト、リリースの作成などがありますか?

4

1 に答える 1

29

rebar3をチェックしてください:Erlang / OTPアプリケーションのリリースのパッケージ化、テンプレート化、管理に使用されます。あなたはそれを使用する方法についての完全なチュートリアルをそこに見つけるでしょう。

リリースとErlangでの処理方法を示すこのチュートリアルに切り替える前に、まずOTPに関するこのチュートリアルを確認してください。プロジェクトを開発するとき、および作成者がまだ必要になる可能性のあるより高度なものを徐々に追加しているため、この本全体を参照として使用してください。

また、 Erlangアプリケーションについて読み続けてから、以下のクイックリンクを確認することもできます。

Erlangパッケージング、ChicagoBossGuysに
よるProcessOneOTPパッケージングビデオ
Erlang依存関係管理RichardJones依存関係Mavenツールを使用したErlangプロジェクトのパッケージ化
に関するアドバイスと例およびErlangプロジェクトのパッケージ化での使用方法

最も重要なことは、鉄筋を非常に真剣に受け止めることです。依存関係のあるErlangアプリケーションを管理する上で非常に重要です。進行中の支援のために、ここでStackOverflowに質問を投稿し続けることができます。

忘れる前に、 Riakコミュニティからたくさんのものをチェックしてください。

また、ターゲットシステムの作成に関するシステムドキュメントと、 Reltoolを使用してリリースを処理する方法を確認することも重要です。erlangの良いところは、アプリケーションをそのように維持するのが簡単である限り、何かを行う方法のいくつかのオプションがあることです。ターゲットシステムでは、Erlang VMを埋め込む方法、Solaris、VxWorksでErlangアプリケーションを実行する方法、erlsrvを使用してWindowsNTでサービスとしてErlangアプリケーションを作成する方法を学習します。

通常、オペレーティングシステムがサーバーを起動しているときに、アプリケーションがサーバーから起動することを確認します。これまでのところ、Solarisには、Erlang /OTPVMの埋め込みに関して他のどのOSよりも多くのカスタマイズがあります。Escriptを使用して組み込みErlangVMといつでも通信できます。ここで、 escriptは組み込みVMへの接続を許可されたerlangノードを作成し(したがって、同じCookieを共有する必要があります)、組み込みVMは許可されている必要があります実行して接続する一時的に作成されたノード

net_kernel:allow(List_of_nodes)

組み込みVMが、厳密に指定された既知の数のノードからの接続のみを許可するようにするには、必ずこのメソッドを呼び出してください。

于 2011-11-19T09:04:37.210 に答える