2011-10-11 54 views
0

我的rails应用程序位于engineyard服务器上。创建符号链接以及如何在EngineYard中创建它的重要性

我需要为公用文件夹创建符号链接。

如何在engineyard服务器上创建符号链接?

我没有部署经验,所以我非常想知道它应该创建哪个文件夹的符号链接&的重要性是什么?

当前我正在使用我的临时环境应该在代码中编写什么或创建文件,以便在生产时部署相同的代码时自动创建符号链接。

谢谢!

回答

0

每次部署时都应该自动创建符号链接。其目的是在多个部署中保持与您的应用程序相同的路径。当你部署你的应用程序,你应该创建一个符号链接到最新的版本,像这样(一台Unix机器上):

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

第一条路径是真正的文件或目录。第二个路径是符号链接的路径和名称。现在,当您将某些内容指向/ application/current时,它将在最新版本中发布。

如果您使用Capistrano,所有这些都会在您部署时自动照顾您。

1

在EngineYard上创建符号链接的正确方法是添加部署挂钩。您想要将/ deploy目录添加到您的项目并添加一个before_symlink.rb文件。

例如,如果我把配置文件中的共享目录(/数据/程序my_app /共享/配置),我可以添加一个部署钩符号链接文件。

文件的内容将是这样的:

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