7

既存のワードプレス サイトを更新して、テーマとサイト構造を大幅に変更し、データを mysql データベースに保存するプラグインを更新しています。

私が知る限り、ここには 2 つ (3?) の可能な戦略があります。

  1. DEV から LIVE に MySQL データベースを「ダンプ アンド ロード」し、wp-content フォルダーを最新の更新プログラムに置き換えます。
  2. WP-importer を介して変更をインポートし、wp-content フォルダーを最新の更新プログラムに置き換えます。
  3. WP 管理インターフェイスを介してデータベースを手動で変更し、wp-content フォルダーを最新の更新に置き換えます (これは小さな変更の場合にのみ役立ちます)。

私は自分の別の環境で開発していますが、これは現在ライブであり、コメントや連絡先フォームへの入力など、一般からの更新を引き続き受信する既存のWebサイト用です。したがって、データベースはリリース時とは異なると予想されます私の変更。

これを考えると、上記のオプションには次の問題があります。

1. ダンプとロード

私のデータは舞台裏で更新されているため、「ダンプアンドロード」戦略は問題外のようです(これは簡単にロールバックできるため、私の好みのアプローチでした)。

結果: 最新の更新を取得するには、リリース後にデータベースを同期する必要があり、複雑すぎます。

2.インポーターを使用する

WP-Importer プラグインページを使用すると、投稿 ID が更新され、投稿 ID に依存するスタイリングが台無しになります。これにより、回避したい CSS の悪夢が生まれます。リリース後に CSS を調べて、データベースが作成したもので新しいページ/投稿 ID を更新する必要があります。

結果: 細心の注意を払い、あまり専門的ではないアプローチにより、リリース プロセスが長く複雑になります。

3. データベースを手動で更新する

このオプションは小さな変更には最適ですが、より複雑なリリースの場合、PROD インターフェースで従うべき手順のリストが長くなり、従うのが難しくなり、間違いを犯しやすくなります。

結果: 簡単に台無しにしてしまいます。最後の手段にすぎません。

既存の Web サイト向けの標準的な WORDPRESS リリース戦略はありますか?

基本的に、私の質問は次のとおりです。他のワードプレス開発者は、既存の Web サイトを更新するときにどのようなリリース プロセスに従いますか? 以下に挙げていないオプションで、手間を最小限に抑え、リリース中の時間と複​​雑さを軽減するものはありますか?

私はGITを使用してサイトのソース管理をセットアップしました.ANTまたは同様のリリーススクリプトを介して自動化することに慣れています.サイトを台無しにする可能性を最小限に抑えます。

ありがとう!

4

3 に答える 3

2

言うまでもなく、他にもいくつかのオプションがあります。データベースを手動で変更する場合は、シリアル化されたデータを効果的に操作していることを確認してください。Search and Replace DBを使用することをお勧めします。WordPressには、wp-config ファイルからサイトの URL を完全に変更するためのちょっとしたトリックもありました。

于 2012-12-14T15:56:19.197 に答える
2

これは WordPress に限ったことではなく、どのカスタム サイトでも同じような状況だと思います。個人的には、dev で行われた SQL の変更を本番環境で再生することを好みます。注意が必要なのは、どのような SQL 変更が行われたかを知る必要があることです。たとえば、特定のプラグインをインストールすると、スキーマが変更される場合があります。それらが何であったかを知る必要があります。これを行うには、プラグインをインストールする前に DB のエクスポートを SQL として作成し、その後別のエクスポートを作成してファイルの diff を実行します。

あなたは変更を行っていると言うので、どのような SQL 変更を行うかを知っていると思いますか? DB に加えるすべての変更が、GUI を使用して編集するだけでなく、SQL スクリプト ファイルの形式であることを確認してください (GUI を使用してクエリを記述し、実際の SQL を保存できます)。すべての変更が完了すると、開発プロセス中に実行した一連の SQL スクリプトが作成されます。エラーが発生することなく、それらを順番に再実行できます。

次に、本番環境にプッシュするときが来たら、本番環境のステージング バージョンを作成します (つまり、本番環境のかなり最新の DB バックアップを取ります)。その上で更新スクリプトを実行し、すべてが正常であることをテストします。そうであれば、本番環境で実行できます。

変更を実行する前に、必ず本番環境のバックアップを作成してください。

于 2012-12-14T02:28:11.033 に答える
1

テスト環境ですべてが実行されていると思います。私はそれから:

  • ライブ環境で新しいデータベースを作成します。
  • 新しいサイトのすべてのコンテンツと構成をプリロードします。
  • テスト環境で、新しいデータベースを指すようにconfig.phpを構成します。
  • すべてのファイルをライブサーバーにアップロードします。最後にconfig.phpをアップロードします。

これにより、ダウンタイムが最小限に抑えられます。

于 2012-12-14T17:08:04.513 に答える