2011-12-15 6 views
0

私はプロジェクトに参加したいが、更新プロセスの処理方法がわからない。アクティブメンバー登録によるサイトの更新

通常、サイトの更新を求めるメッセージが表示されたら、データベース&のサイトファイルをバックアップし、更新プログラムをローカルまたは開発サーバーで作成します。その後、更新が完了したら、ライブをプッシュします。

私の問題は、毎日新しいメンバーを登録し、毎日ブログ投稿を作成し、毎日それらの投稿に新しいコメントをつけることです。もし私が月曜日にサイトを引っ張ってテスト環境で更新したら、金曜日にこれらの変更を実行してください。登録したすべてのメンバーとその週に書かれたブログエントリは上書きされます。

これを実行する最善の方法は何ですか?開発中にライブサイトで得られたデータを失うことなく、機能をサイトに更新/追加するにはどうすればよいですか? TechCrunchやGizmodoのようなトラフィックの多いサイトでは、データを失うことなく常にサイト全体の更新を行っているので、確かに可能でなければなりません。

答えて

4

変更の内容によって異なります。ファイル/テンプレートの変更やデータベースの変更ですか?

ファイルが変更されただけの場合は、ファイルとデータベースをローカルサーバーにプルし、ファイルを変更してから、実行時にライブサーバーに(ファイルのみ)プッシュします。データベースの変更が行われていない限り、それは機能します。

DBが変更されている場合は、少しばかげてしまいます。基本的に同じプロセスに従いますが、ローカルサイトで行っているdbの変更をメモしておきます。すべてがライブサーバーにプッシュされる準備ができたら、更新中にユーザーのためにサイトをオフラインにする以外の方法はありません。

その後、更新されたファイルをすべてライブサーバーにプッシュし、ローカルサーバー上で行った変更をミラーリングします(プラグインのインストール/更新など)。すべてが完了し、テストされたら、サイトをオンラインに戻すことができます。 dbの変更に関する良いメモを作成した場合、ダウンタイムは最小限に抑える必要があります。

これは、ユーザーへのアクセスをブロックすることができますが、依然として自分自身でアクセスできますが、ほとんどのCMSでは標準です。

また、あなたがまだあなたのワークフローにgitを統合するのを見てください。変更にかなりの時間がかかる場合は、ライブサーバー上にあるコードの元の状態を維持しながら、コードを新しいバージョンに分岐できるシステムが必要になります。

こうすることで、新しい機能をローカルで開発している最中に、ライブサイトで行う必要がある緊急の修正がある場合、マスター/オリジナルブランチに切り替えて、他のブランチで作業していた新しいものを含めてはいけません。

0

まあ、私は小さなトラフィックのWordPress/Drupalサイトでこれを行っていますが、 "ライブ"バージョンを持っていないということは私にとって問題ではありません。私は自分の開発コピーを持っていて、私が望む変更をテストしてから、それらの変更をFTPingでリアルタイムでライブサイトにロールアウトします。

これらの登録を編集しますか?あるいは、静的なファイルを微調整していますか?

wordpressの場合、私はプラグインをテストして、ライブサイトにインストールします。 通常、私が行っている変更には、プラグイン/モジュールとPHPのものが含まれています。これは明らかに最も微妙な解決策ではありません。私は知識のある人が何を持っているかを知ることに興味があります。

関連する問題