代码之家  ›  专栏  ›  技术社区  ›  collimarco

使用Capistrano安全吗?

  •  1
  • collimarco  · 技术社区  · 16 年前

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

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

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

    2 回复  |  直到 16 年前
        1
  •  11
  •   Netzpirat    16 年前

    只需将您的照片放在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 deploy:setup”的capistranos共享文件夹中创建一个pictures文件夹,并在每个“cap deploy”上对其进行symlink。

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

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

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

        2
  •  1
  •   tliff    16 年前

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