Ruby on rails 使用Capistrano安全吗?

Ruby on rails 使用Capistrano安全吗?,ruby-on-rails,capistrano,Ruby On Rails,Capistrano,我有一个画廊风格的应用程序,已经部署。我的本地版本有很多照片,我只用于本地测试,我绝对不希望它们覆盖我在线的真实照片 我还有一个git存储库,它只跟踪我的代码,而忽略照片 当我键入cap deploy:migrations时,它是否使用我的git存储库?i、 e.Capistrano会用本地照片覆盖我的在线照片吗,还是会因为git忽略它们而忽略它们?只需将您的照片放入Capistrano的共享文件夹并将其符号链接即可。要实现自动化,请编写capistrano配方,如: namespace :de

我有一个画廊风格的应用程序,已经部署。我的本地版本有很多照片,我只用于本地测试,我绝对不希望它们覆盖我在线的真实照片

我还有一个git存储库,它只跟踪我的代码,而忽略照片


当我键入cap deploy:migrations时,它是否使用我的git存储库?i、 e.Capistrano会用本地照片覆盖我的在线照片吗,还是会因为git忽略它们而忽略它们?

只需将您的照片放入Capistrano的共享文件夹并将其符号链接即可。要实现自动化,请编写capistrano配方,如:

namespace :deploy do

  after "deploy:setup", "deploy:pictures:setup"
  after "deploy:symlink", "deploy:pictures:symlink"

  namespace :pictures do
    desc "Create the pictures dir in shared path."
    task :setup do
      run "cd #{shared_path}; mkdir pictures"
    end

    desc "Link pictures from shared to common."
    task :symlink do
      run "cd #{current_path}/public; rm -rf pictures; ln -s #{shared_path}/pictures ."
    end

  end
end
此配方将在“cap部署:设置”上的capistranos共享文件夹中创建一个图片文件夹,并在每个“cap部署”上对其进行符号链接

因此,如果您已经在服务器上创建了“图片”文件夹并添加了一些图片,则可以在运行命令之前对其进行迁移:

cd yourapp
mv current/public/pictures shared
ln -s shared/pictures current/public/pictures

我使用另一种方法在多台机器上同步共享文件夹的内容,您可以从

获得它,只需将您的照片放入capistrano的共享文件夹并将其符号链接即可。要实现自动化,请编写capistrano配方,如:

namespace :deploy do

  after "deploy:setup", "deploy:pictures:setup"
  after "deploy:symlink", "deploy:pictures:symlink"

  namespace :pictures do
    desc "Create the pictures dir in shared path."
    task :setup do
      run "cd #{shared_path}; mkdir pictures"
    end

    desc "Link pictures from shared to common."
    task :symlink do
      run "cd #{current_path}/public; rm -rf pictures; ln -s #{shared_path}/pictures ."
    end

  end
end
此配方将在“cap部署:设置”上的capistranos共享文件夹中创建一个图片文件夹,并在每个“cap部署”上对其进行符号链接

因此,如果您已经在服务器上创建了“图片”文件夹并添加了一些图片,则可以在运行命令之前对其进行迁移:

cd yourapp
mv current/public/pictures shared
ln -s shared/pictures current/public/pictures

我使用另一个方法在多台机器上同步共享文件夹的内容,您可以从

获得它部署时,capistrano将从您选择的版本控制系统中签出一份新副本。它不关心您的本地文件。

部署时,capistrano将从您选择的版本控制系统中签出新副本。它不关心您的本地文件。

您如何存储照片?您是如何将它们加载到您的开发站点的?回形针?是的,我用回形针在公共场合储存照片/图片你是如何储存照片的?您是如何将它们加载到您的开发站点的?回形针?是的,我使用回形针在公共/图片中存储我的照片,所以你是说Capistrano将使用本地文件而不是Git master来更新我的live应用程序?没错,但Git repo中是否已经有一些共享文件夹的文件并不重要。此文件夹将在部署时删除,并与共享文件夹进行符号链接。根据共享文件夹的使用情况,我经常会签入一些示例文件,这些文件将在部署时删除。谢谢!但是你应该说“不,这是相反的”,而不是“完全相反”;)事实上,你说它使用Git而不是本地文件…所以你是说Capistrano将使用本地文件而不是Git master来更新我的live应用程序?没错,但Git repo中是否已经有一些共享文件夹的文件并不重要。此文件夹将在部署时删除,并与共享文件夹进行符号链接。根据共享文件夹的使用情况,我经常会签入一些示例文件,这些文件将在部署时删除。谢谢!但是你应该说“不,这是相反的”,而不是“完全相反”;)事实上,你说它使用Git而不是本地文件。。。