サーバー上の public_html フォルダーへの Rails アプリケーションへのパブリック フォルダーをシンボリック リンクしようとしていますが、正しく取得できないようです。
deploy.rb ファイルに次のタスクがあります:link_release_to_public
。
namespace :deploy do
task :link_release_to_public do
run "cd ~"
run "rm -rf ~/public_html"
run "ln -sf ~/#{current_path}/public ~/public_html"
end
end
その中で、既存の「public_html」フォルダーを削除し、次のコマンドを使用してシンボリック リンクを作成します。
ln -sf ~/rails_app/releases/current/public ~/public_html
目標は、 ~/public_html を現在のリリースのパブリック フォルダーへのシンボリック リンクに置き換えることです。
実行cap deploy:link_release_to_public
は正常に完了しますが、~/public_html フォルダーに直接リンクされたファイルを取得するのではなく、「public_html」フォルダーを作成し、~/public_html 内で「public」をシンボリック リンクします~/public_html/public
。
サーバー上で(SSH経由で)タスクとまったく同じ手順を実行すると、完全に機能します。私が間違っていることを理解していません。