Ruby on rails 创建symlink&;的重要性是什么;如何在EngineYard中创建它

Ruby on rails 创建symlink&;的重要性是什么;如何在EngineYard中创建它,ruby-on-rails,deployment,symlink,engineyard,Ruby On Rails,Deployment,Symlink,Engineyard,我的rails应用程序位于engineyard服务器上 我需要为公用文件夹创建符号链接 如何在engineyard服务器上创建符号链接 我没有部署方面的经验,所以我非常想知道symlink的重要性&应该为哪个文件夹创建它 此外,目前我正在使用我的暂存环境,我应该在代码中编写什么或创建一个文件,以便在生产环境中部署相同的代码时,它应该自动创建一个符号链接 谢谢 无论何时部署,都应自动创建符号链接。其目的是跨多个部署维护应用程序的相同路径。部署应用程序时,应创建指向最新版本的符号链接,如下所示(在U

我的rails应用程序位于engineyard服务器上

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

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

我没有部署方面的经验,所以我非常想知道symlink的重要性&应该为哪个文件夹创建它

此外,目前我正在使用我的暂存环境,我应该在代码中编写什么或创建一个文件,以便在生产环境中部署相同的代码时,它应该自动创建一个符号链接


谢谢

无论何时部署,都应自动创建符号链接。其目的是跨多个部署维护应用程序的相同路径。部署应用程序时,应创建指向最新版本的符号链接,如下所示(在Unix计算机上):

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


如果使用,则无论何时部署,都会自动处理所有这些问题。

在EngineYard上创建符号链接的正确方法是添加部署挂钩。您希望将/deploy目录添加到项目中,并添加before\u symlink.rb文件

例如,如果我将一个配置文件放在共享目录(/data/my_app/shared/config)中,我可以添加一个deploy hook来将该文件符号链接到中

文件的内容如下所示:

run "ln -nfs #{shared_path}/config/some_config.yml #{release_path}/config/some_config.yml"
#{shared_path}变量指向应用程序共享目录,#{release_path}是作为部署的一部分创建的当前版本

有关更多信息,请访问:

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