1

我们正在将我们的 Drupal 6 站点迁移到 Git 中。我注意到 Drupal 7 实际上带有一个默认的 .gitignore 文件,它忽略了 settings.php 文件和 sites/default/files 目录。所以我假设这是标准做法,我不应该对文件目录进行版本控制。我的问题是,在迁移过程中将这些文件从开发移动到测试再到运行的最佳方法是什么?实时站点可能包含人们上传到实时站点的目录中的大量图像,但是 DEV 服务器上的目录将包含一些开发人员可能已添加到他们创建的内容中的新图像。目前,当内容编辑器以页面节点的方式添加内容时,例如在开发站点上,我们有一个所见即所得的编辑器,允许他们上传最终在 /sites/default/files/images 中的图像并放置在他们的内容中。在各种服务器之间同步此文件目录的最简单方法是什么?

谢谢

4

2 回答 2

2

您不会将数据库从开发同步到生产,对吗?所以你也不应该需要同步文件目录。drupal 文件目录只能用于通过网站添加的内容。如果您的开发人员正在添加生产中所需的资源,则应将它们置于版本控制之下的其他地方。

于 2013-02-19T16:47:16.117 回答
2

根据上面对@Brian 的回答,提问者确实有两个问题:

  1. 为什么我不应该在源代码管理中包含文件目录
  2. Deploy模块是否支持IMCE上传的图片

#1,不应该在源代码管理中包含文件目录的原因:

  • @Brian 给出了上面的原因 #1,但实际上,听起来你确实将数据从开发人员推送到产品。
  • 文件目录不太适合源代码管理。(您很少想要恢复或查看 files 目录的提交历史记录)
  • files 目录可能会变得很大,这可能会成为 repo 存储问题
  • 我通常在drupal安装之外对文件目录进行符号链接,所以如果服务器路径发生变化,我不需要移动它(同样,因为它可能很大)
  • files 目录中的许多文件很可能是其他文件的派生文件(在图像缓存的情况下)。/files/img.png即使您要证明将 files 目录置于源代码管理下是合理的,跟踪and也是没有意义的/files/imagecache/small/img.png

#2,为图像部署模块支持:
简短的回答是否定的;Deploy 不支持 IMCE 为 D6 上传的图片。请参阅:添加 IMCE 图像支持

但是sarjeet.singh在上面链接的问题中为 D7提供了一个补丁。鉴于 dev/prod 上的文件目录路径相同,您应该能够针对 Drupal 6 进行调整。

于 2013-02-20T02:10:52.420 回答