0

プロジェクトを引き受けたいのですが、更新プロセスの処理方法がわかりません。

通常、サイトの更新を求められた場合は、データベースとサイト ファイルをバックアップしてから、ローカルまたは開発サーバーで更新を行います。その後、更新が完了したら、それらをライブにプッシュします。

私の問題は、私が取り組んでいるサイトが、毎日新しいメンバーを登録し、毎日ブログを投稿し、それらの投稿に毎日新しいコメントを受け取ることです。月曜日にサイトをプルし、テスト環境で更新し、金曜日にそれらの変更をプッシュすると、その週にサインアップしたすべてのメンバーとブログ エントリが上書きされます。

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

4

2 に答える 2

4

それは、どのような変更を行っているかによって異なります。ファイル/テンプレートの変更ですか、それともデータベースの変更ですか?

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

データベースの変更がある場合、事態は少し複雑になります。基本的には同じプロセスに従いますが、ローカル サイトで行っているデータベースの変更をメモしておいてください。すべてがライブ サーバーにプッシュされる準備が整ったら、更新中にユーザーのためにサイトをオフラインにする以外に選択肢はありません。

次に、更新されたすべてのファイルをライブサーバーにプッシュし、ローカルサーバーで行ったデータベースの変更をミラーリングします (プラグインのインストール/更新など)。すべてが完了してテストされたら、サイトを再びオンラインにすることができます。データベースの変更について適切なメモを作成していれば、ダウンタイムは最小限に抑えられます。

これは、ユーザーへのアクセスをブロックしながら自分自身のアクセスを許可できるかどうかに依存しますが、これはほとんどの CMS で標準となっています。

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

そうすることで、新しい機能をローカルで開発している最中にライブ サイトに緊急の修正が必要な場合は、マスター/元のブランチに戻って、コードに変更を加えることができます。あなたが他のブランチで取り組んできた新しいもの。

于 2012-08-17T10:52:27.837 に答える
0

まあ、私はこれをトラフィックの少ないワードプレス/drupalサイトに対してのみ行ったことがありますが、「ライブ」バージョンがないことは私にとって問題ではありませんでした. 私は開発用のコピーを用意し、必要な変更をテストしてから、それらの変更を FTP でバックアップすることにより、その場でライブ サイトにロールアウトします。

これらの登録を編集しますか? それとも、静的ファイルを微調整しているだけですか?

wordpress の場合、プラグインをテストしてから、実際のサイトにインストールするだけです。通常、私が行っている変更には、プラグイン/モジュールといくつかの PHP が含まれます。これは明らかに最も微妙な解決策ではありません。私は、より知識のある人々が何を念頭に置いているかを知りたいと思っています。

于 2011-12-15T15:42:19.050 に答える