部署媒体文件夹而不将其存储在带有capistrano的github上

时间:2012-03-25 18:52:54

标签: php deployment capistrano dev-to-production

我在php网站上工作,使用capistrano部署到我们的服务器。该站点有一个非常大的媒体文件夹,每次都需要移动到当前部署中。目前发生的事情是我有一个shell脚本,每次部署时都会执行'mount --bind'。在部署之前,它会执行该文件夹的“卸载”。问题是它不可靠,有时在清理时它是我的媒体文件夹。我想将媒体文件夹放在github中,但它是500 mbs,需要在用户创建帐户时进行更改。

所以我想到的选项,想要你的意见,或者你的选择比我想象的要好。

  1. .htaccess重写,每当它查找媒体文件夹时,它会将其重新路由到其上有文件夹的子域。我只是不知道这个重写是否适用于创建文件和目录或只读取它们。
    • 我今天测试了这个,它可以用于从子域读取,但我无法创建或写入工作
  2. 找到一种更好的方式来部署媒体文件夹,而不必依赖看似失败的shell命令并销毁文件夹

  3. 在每次部署时重新启动服务器(这将卸载所有文件夹),然后在部署和服务器重新启动后执行挂载。这只是耗费时间,如果我进行多次部署,它将无法正常工作,因为我在同一台服务器上进行升级和生产,所以如果我在暂存测试,重新启动它,它也会重新启动我的生产站点,从而卸载生产井我正在进行分期测试。

  4. 这是我能想到的唯一选择。任何帮助都会很棒。

0 个答案:

没有答案