Drupal での展開については、以下を明確に区別する必要があります。
- コード: Drupal コア、contrib モジュール、独自のモジュール、パッチ、テーマ、翻訳。
- Content : ノード、コンテンツ タイプ、およびエンティティ内に格納されているすべてのもの。常にDBにあります。
構成 (ここに問題が発生します...) : 1) または 2) に含まれていないすべて:
- サイトのグローバル変数
- コンテンツ タイプ、バンドル、およびエンティティの定義
- フィールドの定義
- ビュー
- パネル
- フォーム
- ブロック
- メニュー
- 語彙
- パーミッション
- ルール
- ...
このすべての構成情報は現在、D7 のデータベースに分散されており、その管理、展開、および維持は本当に悪夢です。D8 (この問題を正確に解決するための新しい構成管理システムを提供する) が登場するまでは、Features や Strongarm などのモジュールを使用してこれと戦う必要があります。このプロセスは単純ではなく、サイトの機能を正確に分割し、ユーザー ケースを表す自己完結型のコードと構成の部分を探す必要があります。そうでない場合は、機能間の依存関係に関する多くの問題が見つかります。
コードとコンテンツのデプロイははるかに簡単です。Drush make を使用し、必要に応じてインストール プロファイルと機能を使用します。コンテンツについては、Backup & Migrate モジュールが簡単なソリューションです。
Drupal 7 の展開モジュールの最近の広範な比較は、次の場所にあります。
https://drupal.org/node/980186