web-dev-qa-db-ja.com

Drupal Dev&ProdへのデプロイメントとGitコードリポジトリのセットアップ

他に4人の開発者がいる開発サーバーと製品サーバーがあります。プロセスにあまり関与する必要がない開発コードプッシュ環境をセットアップする最も効率的な方法は何ですか?最近の用語はCI(継続的インテグレーション)と呼ばれています。しかし、重要なのは、展開中に多くの可動部分が含まれる可能性があるということです。一部のセットアップでは、プロセスのテストが自動化されています。それは管理するための追加のシステムなので、私はそれが必要になるとは思いません。

私のサイトは主に情報サイトであり、主に内部で使用されており、1日あたり1000ヒット未満です。

一部の人々がこの問題に取り組む最も簡単な方法は何ですか?

2

CI(継続的インテグレーション)には、デプロイメントおよびコードプッシュ中に多くの可動部分を含めることができます。しかし、すべてのサイトで必要なわけではないすべてを使用する代わりに、次の設定を考え出しました。

  • 2つの環境:DevドメインとProdドメイン
  • コードリビジョンはgitサーバーに保存されます
  • 2つのgitブランチ:devとmaster、masterブランチはprodサーバーコードです。
  • 各開発者は、ラップトップ上でテストおよびコーディングするための独自のローカルサーバーを持っています。
  • 各開発者はdevブランチをチェックアウトします。
  • マスター(製品)ブランチは、開発者がテストされている場合にのみ触れる必要があります。次に、devをmasterにマージします。
  • Push to the Devブランチが検出されると、サーバー上のスクリプトは自動的に「git pull」して新しい変更を取得します。
  • Dev + masterとマージすると、サーバー上のスクリプトは自動的に「git pull」して、新しい変更を製品に取り込みます。

  • Drupalファイルのコンテンツは、「ステージファイルプロキシ」モジュールによって管理され、すべてのファイルをダウンロードする必要はありません。

  • 「drush sql-dump」を使用して開発サーバーからコピーをダウンロードすることにより、データベースが同期されます
2