【问题标题】:Handling user uploaded content in Capistrano在 Capistrano 中处理用户上传的内容
【发布时间】:2012-12-19 15:47:45
【问题描述】:

我已设置 capistrano 以部署到登台和生产服务器。困扰我的最后一件事是如何处理用户上传的内容 - 目前,我的上传文件夹及其内容在我的 git repo 中进行了版本控制。如果可能并且不错的做法,我想做的是使用部署脚本来执行通常的部署工作,而且还可以通过向脚本添加任务来将产品服务器上的任何新上传内容推送到存储库。

这是一个明智/可行的举措吗?你们平时是怎么处理这种事情的?

【问题讨论】:

    标签: git version-control capistrano


    【解决方案1】:

    您应该将内容与代码库分开。

    一种策略是将您的内容存储在部署端点(在服务器上,随着您的应用程序的使用,它会随着时间的推移而构建),并在部署期间使用 capistrano 符号链接。

    假设您在 '{rails_root}/public' 中有一个名为 'uploads' 的文件夹——您将在部署配方中添加类似这样的内容:

    # Create a symlink to our 'uploads' folder
    namespace :deploy do
      task :symlink_uploads, :roles => :app do
        run "ln -s #{deploy_to}/shared/uploads #{release_path}/public/uploads"
      end
    end
    after "deploy:update_code", "deploy:symlink_uploads"
    

    【讨论】:

      猜你喜欢
      • 2018-09-15
      • 2012-11-20
      • 2013-07-30
      • 2015-03-25
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      相关资源
      最近更新 更多