7

私は製薬業界向けのサイトを運営している会社で働いており、変更を公開する前に法的な承認を得る必要があることがよくあります。そのため、多くの作業をCMS環境、特にワードプレスに移行したいと思いますが、ステージング環境を用意する機能が必要です。ページを公開する代わりに、誰かがサイトとしてのリンクを使用して閲覧できるステージング環境にページを公開することは可能ですか?つまり、基本的に2つのサイトがあり、1つはステージング1つはライブですか?

4

6 に答える 6

3

一般的に言えば、ここでの他の「答え」は正しいですが、ステージング環境とビルド移行のサポートが組み込まれているWordPressの代替手段があります。ただし、提案された代替案はWordPressプラットフォームの代替案と完全に同等ではないため、代わりに手元の質問に答えるのが最善だと思います。

WordPressは、2つの異なるホストからの同じサイトのホスティングをネイティブにサポートしていません。コアは、データベース内に格納されている絶対URLに依存しており、コアロジックのほぼすべての側面で使用されます。http://これにより、すべてのスキームをhttps://オンザフライで動的に変更しようとするため、SSLアクセスに関連する500などの不要なバグが多数発生します。

その結果、dev.example.comstaging.example.comでホストして移行するwww.example.com場合は、ホストを切り替えるたびに、データベースのエクスポートに対して非常に注意深い検索と置換の操作を行う必要があります。そして、これは、多くの人気のあるWordPressプラグインがURLをデータベース内の値にシリアル化することを発見したときに追加の問題を引き起こします。したがって、dev.example.comを検索してstaging.example.comに置き換えると、元の値の文字長を含むシリアル化されたデータが、新しい長い形式で逆シリアル化されなくなります。一部の主要な貢献者は、この後者の問題の解決策は、本番アカウントと同じ文字数のステージングサイトのみをセットアップすることであると信じています...

同様に、ホストマッピングを交換し、すべてのホスティング環境でproduction.comURLのみを使用することも提案しています。特定のユースケース要件によっては、オフサイトのクライアント、技術に精通していないユーザー(もちろん、技術に精通していないユーザー)へのアクセスを提供する必要がある場合、これはおそらく有効なソリューションではありません。

しかし、WordPress自体には他にも多くの優れた機能があり、非常に適応性が高く強力な迅速な開発プラットフォームです。その結果、コアフレームワークを拡張して、必要なことの多くを実行できます。このような状況が発生したとき、私はあらゆる状況で実行可能なソリューションを開発する必要がありました。従来、この問題はルート相対URLで解決され、クロスホスティング環境で機能し、ステージング移行で一般的なスキームの変更、ポートの変更、またはサブドメインのスワッピングの慣行に悩まされることはありません。

このプラグインを使用すると:http ://wordpress.org/extend/plugins/root-relative-urls/ (偏った?はい、私はこのプラグインを作成しました)重要な場合はルート相対URLを取得し、ルート相対URLを使用する場合は動的ホスト(rssフィードのように)機能しません。サイトを別のホストに移行するだけで、wp-config.phpファイルをルートの外に移動できますwww(1つ上のレベルはWordPressでネイティブにサポートされます)。これにより、さまざまなサーバーでさまざまなコピーを維持できます。または、基本的なifステートメントを使用して、サーバー名でホストを区別し、サーバーに基づいて主要なWordPress定数を定義することもできます。最終的に、コンテンツ、コード、データはシームレスに移行します。

注意点として、参照されるプラグインはwp-config.phpファイルへの書き込みアクセスを設定する必要があります。これは、本番サーバーまたは公的にアクセス可能なサーバーのセキュリティの観点からは非常に悪い習慣です。おそらく、制限されたステージング環境でこれを快適に実装できますが、本番環境の移行ではプラグインを無効にして削除する必要があります。

簡単に言えば、はい、複数のホスト環境でWordPressをホストできます。長い間宣伝されてきたソリューションは、コアアーキテクチャのために、非常にケース固有であり、オプションが制限されています。しかし、フレームワークはコアの不足を克服するのに十分な柔軟性があります。このコア設計の決定は、コア開発者がカスケードの問題を克服するために継続的に費やす努力の量を考えると、おそらく将来のある時点で変更されるでしょう。しかし、当面の間、慣習を維持する絶対的なURL宗教の敬虔な擁護者もいます。おそらく、サーバーの移行をネイティブにサポートする別のプラットフォーム(ほとんどの場合はサポートしているので、それらのいずれかを選択してください)が、今のところより良いオプションになるでしょう。

于 2011-11-09T04:40:51.060 に答える
2

可能性があります。このGithubGistを見て、wp-config.phpファイルを使用して環境を切り替える方法の例を確認してください。さらに、wordpress.stackexchangeを見て、これに関する他のQを確認してください。これにより、検討する必要のある事項をより詳細に調べることができます。

于 2011-07-26T22:35:05.187 に答える
1

グレッグ、ステージング環境を備えたさらに優れたCMSは、Silverstripe(silverstripe.org)です。このcmsを使用すると、ステージングサイト全体を閲覧できます。

于 2011-07-26T21:36:26.937 に答える
1

いくつかのプラグインを試してみることができると思います。たとえば(公式のワードプレスプラグインリポジトリでの高速検索)wp-deployまたはDev and Staging Environmentプラグイン(おそらく時代遅れ)。

または、別の方法として、異なるwp-config.phpファイルを使用してみることもできます。1つは本番環境用、もう1つは開発環境用で、要求されたURLを確認してそれらを切り替えます。

于 2011-07-27T10:01:21.813 に答える
0

WPを使用する必要があり、ステージングからライブサイトまで1ページまたは数ページだけを公開する必要がある場合は、公開する必要のあるページ(ライブサイトの訪問者に表示される)に一種のタグを実装してみませんか?テンプレートを調整して、タグ付きまたはタグなしのページを表示するだけで完了です。そうすれば、1つのサイトのみを使用して、そのサイトで公開されているページと承認されていないページの両方を維持できます。

サイトのローカルコピー(ステージ)を維持し、それを(全体として)ホスティングにアップロードするためのスクリプトを作成することもできます-タスクを自動化するのは簡単です。このような場合は、サイト全体をHTMLページにレンダリングし、このHTMLをホスティングにアップロード(単純なrsync)することを検討してください。動的スクリプトがないため、ライブサイトを壊すことは困難です。

しかし、多分あなたは本当にWPを選ぶべきではありませんか?write-approve-publishスキームをサポートするCMSはたくさんあります。

于 2011-07-27T09:37:02.383 に答える
0

このプラグインを使用すると、2回クリックするだけでWordPressステージング環境を作成できます:https ://de.wordpress.org/plugins/wp-staging/

開示:私はこのプラグインの作者です。だから私にそれについて何でも聞いてください。

于 2015-08-21T13:44:59.163 に答える