0

私のレールアプリはエンジンヤードサーバーにあります。

パブリック フォルダーのシンボリック リンクを作成する必要があります。

engineyard サーバーでシンボリックリンクを作成するには?

私は展開の経験がないので、シンボリックリンクの重要性と、どのフォルダーに対して作成する必要があるかを知りたいと思っています。

また、現在、ステージング環境を使用しています。コードに何を書くか、ファイルを作成して、同じコードを本番環境にデプロイするときに自動的にシンボリックリンクを作成する必要があります。

ありがとう!

4

2 に答える 2

1

EngineYardでシンボリックリンクを作成する適切な方法は、デプロイフックを追加することです。プロジェクトに/deployディレクトリを追加し、before_symlink.rbファイルを追加します。

たとえば、構成ファイルを共有ディレクトリ(/ data / my_app / shared / config)に配置すると、このファイルをシンボリックリンクするためのデプロイフックを追加できます。

ファイルの内容は次のようになります。

run "ln -nfs #{shared_path}/config/some_config.yml #{release_path}/config/some_config.yml"

#{shared_pa​​th}変数はアプリの共有ディレクトリを指し、#{release_path}はデプロイの一部として作成されている現在のリリースです。

詳細については、http://docs.engineyard.com/use-deploy-hooks-with-engine-yard-cloud.htmlをご覧ください。

于 2012-01-25T12:25:07.253 に答える
0

シンボリック リンクは、デプロイするたびに自動的に作成されます。その目的は、複数のデプロイメントにわたってアプリケーションへの同じパスを維持することです。アプリケーションをデプロイするときは、次のように最新リリースへのシンボリック リンクを作成する必要があります (Unix マシンの場合)。

ln -s /application/releases/10102011011029/public /application/current

最初のパスは REAL ファイルまたはディレクトリです。2 番目のパスは、シンボリック リンクのパスと名前です。/application/current に何かを指定すると、最新のリリースになります。

Capistranoを使用すると、デプロイするたびにこれらすべてが自動的に処理されます。

于 2011-10-11T08:54:42.297 に答える