私たちの展開戦略: 環境スコープの db 構成とファイルがあります (とを.htaccess
考えprod.htaccess
てください)。デプロイは capistrano を使用して行われます。これは、デプロイするブランチのチェックアウトから始まり、スコープ外のファイルを削除して、スコープ内の htaccess の名前を から に変更します。これが完了すると、ディレクトリは非削除 rsync を介して apache webroot に転送されます。dev.htaccess
local.htaccess
Capfile
.htaccess
[env].htaccess
.htaccess
repository/public_html
背景: 私が働いている会社は、1998 年から存在しているオンライン出版物であり、フォルダー構造がごちゃごちゃしているため、展開戦略は複雑です。バージョン管理されたファイルは、生成されたファイルとユーザーがアップロードしたファイルの隣に存在します。この場合、apache webroot フォルダー全体を の対応するフォルダーに単純にシンボリック リンクすることはできません
/current
。生成されたファイルは、新しいデプロイが行われるたびに消去され、ユーザーがアップロードしたディレクトリに散在するファイルは、他の場所からシンボリックリンクする必要があります。したがって、非削除 rsync 操作.
ただし、上記でほのめかされた現在の狂気は、別の日の質問です.
私が欲しいのは、デプロイ時にレポ内の htaccess および db 構成ファイルの削除と名前変更を必要としないソリューションです。/deploy/current
その理由は、デプロイからのローカル変更のもつれと戦う必要なく、作業してコミットできるようにするためです。
このような環境スコープのファイルを展開するための一般的なソリューションは何ですか? /config
それらを上記のフォルダーに移動し、環境に応じて/public_html
Apache webrootから関連ファイルにシンボリックリンクする必要がありますか?/config