0

我正在尝试自动化特定项目的部署,并且对于谁来处理配置文件以及用户资产有点迷失。(应用程序基于 Zend Framework 顺便说一句)。

主应用程序文件夹的结构如下:

./app
     ./config.ini   <----- config file
     ./modules
     ./controllers
     ./models
     ./views
./libs
./public

该配置文件是所有配置的存储位置。所以“app”文件夹包含大量的 PHP 代码,而“public”包含大量的 JavaScript、HTML/CSS 和类似的代码(基本上可以通过网络访问)。

如果我遵循 Capistrano 的模型,每个包都扩展到它自己的文件夹中,然后符号链接到,我该如何处理该 config.ini 文件?上传到 ./public 文件夹的所有用户内容呢?

谢谢!

4

1 回答 1

4

Capistrano 的方法是在您的远程服务器上具有这样的结构:

releases/
    20100901172311/
    20101001101232/
    [...]
current/ (symlink to current release)
shared/

在共享目录中,您包含您的配置文件和任何用户生成的内容(例如shared/files)。然后在每次部署中,一旦您签出代码,您就会自动创建从签出到相关共享目录的符号链接。例如:

releases/20101001101232/public/files -> shared/files
releases/20101001101232/application/configs/config.ini -> shared/config.ini

这样,当用户上传文件时,public/files它实际上是存储在shared/files.

于 2010-10-01T15:30:08.370 回答