0

特定のプロジェクトの展開を自動化しようとしていますが、構成ファイルとユーザーアセットを誰が処理するかについて少し迷っています。(アプリケーションは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フォルダーにアップロードされるすべてのユーザーコンテンツはどうですか?

ありがとう!

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 に答える