0

現在、dotcloud を使用して EC2 に smartfoxserver 2X をデプロイしようとしています。Amazon Web インスタンスのプライベート IP を検出でき、dotcloud ツールを使用して正しいポートを特定できました。ただし、AdminTool を使用してログインできるように、コマンド ラインから適切なサーバーをインストールするのは困難です。

私のポストインストールはかなり簡単です:

./SFS2X/sfs2x-service start-launchd

「dotcloud push」では、cygwin ターミナルにかなりの量の有望な出力があることがわかりましたが、sfs2x サービスが正しく起動されたと言ってタイムアウトになるまでプッシュがハングします。

したがって、私の質問は、dotcloud 経由で EC2 に SFS2X を正常にインストールする方法を見つけた人はいますか? postinstall で ./jre/bin/java -jar installer.jar を呼び出して、SFS Pro で部分的に成功し、dotcloud に完全にプッシュしました。SFS2X のインストーラー jar を構築するために追加の作業を行う必要がありますか? これを行うのに最適な方法はありますか?

EC2 で RightScale を使用して SFS2X を展開する標準的なアプローチがあることは理解していますが、dotcloud プラットフォームを使用した展開に興味があります。

前もって感謝します。

4

1 に答える 1

1

ハングしている理由は、postinstall でプロセスを開始しようとしているためであり、これは正しい場所ではありません。postinstall スクリプトは終了するはずですが、そうでない場合、デプロイはタイムアウトになり、キャンセルされます。

postinstall スクリプトが完了すると、デプロイの残りの部分が完了します。

dotCloud postinstall スクリプトの詳細については、このページを参照してください: http://docs.dotcloud.com/0.9/guides/hooks/#post-install

最後にこの警告に注意してください。

警告: インストール後のスクリプトがエラー (ゼロ以外の終了コード) を返した場合、またはスクリプトが 10 分以上実行された場合、プラットフォームはビルドが失敗したと見なし、新しいバージョンのコードはデプロイされません。 .

これを postinstall スクリプトに入れる代わりに、バックグラウンド プロセスとして追加して、展開プロセスが完了すると起動するようにする必要があります。

バックグラウンド プロセスを dotCloud サービスに追加する方法の詳細については、このページを参照してください。

http://docs.dotcloud.com/0.9/guides/daemons/

TL;DR: Supervisord.conf ファイルを作成し、それをプロジェクトのルートに追加して、それにサービスを追加する必要があります。

例 (状況に合わせて変更する必要があります):

[program:smartfoxserver]
command = /home/dotcloud/current/SFS2X/sfs2x-service start-launchd

また、smartfoxserver アプリケーション用に正しいバイナリとライブラリをインストールするために、dotcloud.yml で正しい dotCloud サービスが指定されていることを確認してください。

于 2013-01-15T14:05:01.463 に答える