回答:
これは、ほとんど誰もが異なる答えを持っている自明ではない問題です。本番プッシュへのステージングを処理する標準的なDrupalの方法はありません。Drupalショーを運営するDries Buytaertは、Drupal 8の主要な取り組みの 1つになりました。もちろん、Drupal 7はリリースされたばかりなので、実を結ぶまでにはしばらく時間がかかります。
この問題は、次の2つの問題に分けられます。
前者は、主に機能モジュールによって処理できます。これにより、サイトの構成が取得され、Drupalインストールに追加できるモジュールに変換されます。この方法で、バージョン管理システムに追加でき、心配する必要はありません。コンテンツを移行するときに吹き飛ばされます。
アクティブサイトでは、開発環境への最初の同期を行った後でもコンテンツがプロダクションで変更される可能性があるため、後者は非常に注意が必要です。これにより、設定でできるように、ステージング中のコンテンツの大規模な置換を防ぎます。
さらに、DrupalはコンテンツにUniversally Unique Identifier(UUID)を使用しません。ノードまたはユーザーが追加されるたびに、IDは1ずつ増加します。したがって、開発サイトのノード45が、本番サイトのノード90になる可能性があります。
残念ながら、これに対する優れたソリューションはありません。コンテンツのステージングはDrupalの本当の弱点です。私が個人的に行っているのは、実稼働サイトにのみコンテンツを追加することです。クライアントが公開される前にコンテンツがどのように見えるかを確認したい場合は、クライアントのみがアクセスできる本番サイトのクローンを設定します。次に、承認されると、同じ変更が実稼働に直接行われます。
別の選択肢があります:Deployモジュールです。サービスを活用して、コンテンツのステージングを比較的簡単にします。しかし、その有効性を保証することはできず、Drupal 7バージョンもありません。
私たちのプロセスで。
Hudsonを使用して開発/ステージングブランチを再構築し、ライブブランチと開発ブランチを同期しています。
Gitを使用しているため、実行しているすべてのタスクに独自のブランチがあり、QAに渡されると、リグレッションテスト用のステージングサーバーとしてマスターにマージします。
マスターの準備ができたらRelease Server
、ライブ(構成、ハードウェアなど)のレプリカであるテストリリースを行います。
Feature
モジュールを使用して構成を展開します。一部の機能はまだ機能でサポートされていないため、hook_update_Nを使用してupdatedb.phpまたはdrush -vd updb
drush fra --yes
)を実行して、オーバーライドされたすべての機能を元に戻します。Boost(Varnishに移行)とMemcacheを使用しているため、cache(drush cc all
)をクリアする必要があります。
rsyncを使用して画像/動画などを同期しています...
XAMPPサーバーから別のサーバーに移行するには、このサイトの指示に従いました。
開発サーバーで行ったのと同じ構造を運用サーバーで維持してください。また、次の場所にあるDrupal管理ダッシュボードでいくつかのファイルを編集する必要がありました:admin / config / media / file-system
パブリックファイルシステムのパスと一時ディレクトリに正しい場所が設定されていることを確認してください。