我正在尝试自动部署特定项目,并且对于谁处理配置文件以及用户资产有点失落。 (应用程序基于基于Zend Framework的btw)。
主应用程序文件夹的结构如下:
./app
./config.ini <----- config file
./modules
./controllers
./models
./views
./libs
./public
该配置文件是存储所有配置的地方。 所以'app'文件夹包含PHP中的大量代码,'public'包含JavaScript,HTML / CSS等类似的代码(基本上可以访问Web)。
如果我按照Capistrano的模型,将每个包扩展到它自己的文件夹然后符号链接到,我该如何处理该config.ini文件? 那么上传到./public文件夹的所有用户内容呢?
谢谢!
答案 0 :(得分:4)
Capistrano方法是在远程服务器上建立这样的结构:
releases/
20100901172311/
20101001101232/
[...]
current/ (symlink to current release)
shared/
在共享目录中,您包含配置文件和任何用户生成的内容(例如shared/files
)。然后在每次部署时,一旦检出代码,就会自动从结帐创建符号链接到相关的共享目录。 E.g:
releases/20101001101232/public/files -> shared/files
releases/20101001101232/application/configs/config.ini -> shared/config.ini
这样,当用户将文件上传到public/files
时,它实际上存储在shared/files
中。