7

これは、ローカル マシンに DEVELOPMENT バージョンのアプリケーションがあり、それをテスト用に STAGE サーバーに展開し (オプション)、それを PRODUCTION サーバーに展開できる場合に便利です。プロジェクト内のコードとデータに細かい裁量がある場合 (たとえば、すべてのコードと設定をプロジェクト ファイルに保存し、データをデータベースに保存する場合)、これは比較的簡単に行うことができます。

MODX は、テンプレート、スニペットなどをデータベースに保存します。はい、このコードを静的ファイルに移動し、バージョン管理システムを使用してこれらの項目の変更を追跡できます。しかし、これらにはデータベースにも表現行があります。これは、アイテムを追加または削除した場合、以前と同様にデータベースを更新する必要があることを意味します。

パッケージマネージャーでインストールする代わりに、拡張機能のファイルをコピーしただけでも問題が発生する可能性があるようです (拡張機能は多くの場合、DB に独自のテーブルを持っているため)。

もう 1 つの問題は、DEV と PROD のアプリケーションでは、ファイル (構成) とデータベース (ユーザー アカウントなど) に異なる設定が保存されていることです。

反復的な DEV-STAGE-PROD 開発サイクルを編成する明確な方法はまだわかりません。だから、私の質問は次のとおりです。

  • デプロイ時にコピーする必要がある (またはコピーする必要がある) ファイルとデータベース テーブルはどれですか?
  • それを行うべきモード(置換、無視)は何ですか?
  • それを行うための最も簡単で最速の方法は何ですか?

ここでの私の最大の懸念は、データベースを処理する必要があることです。

PS私はMODXの「レボリューション」バージョンについて話しています。

4

2 に答える 2

3

データベースはパス情報をまったく保存すべきではありません。以前のバージョンでは modx_workspaces テーブルに保存されていましたが、[2.2.4 の時点で] 消えてしまいました。

URL の変更 [dev.mysite.com / stage.mysite.com / production...] が心配な場合は、気にしないでください - これはすべて .htaccess ファイルにあります [以前は site_url システム設定がありましたが、それも消えたようです。]

心配する必要がある唯一のファイルは core/config/config.inc.php ~ 異なるパスで 3 つの異なるファイルを作成するか、移行時にそれらを置き換えるだけです。

modx サイトを移動/更新/移行するための私のプロセスは次のとおりです。

キャッシュクリア!! tar cvfz httpdocs.tar.gz httpdocs/ mysqldump -u -p the_database > export.sql

ファイルを移動し、tar xvfz & データベースをインポートします。modx_workspaves テーブルを確認することをお勧めします。古いバージョンのギャラリーを使用している場合は、それも確認してください。ただし、ほとんどのプラグインと開発者は、パス情報をコードと DB テーブルに保存しないことに慣れているようです。

もちろん、インストールを強化した場合は、さらにいくつかの手順がありますが、大したことはありません。[rtfm.modx.com の「強化 Modx 記事」を参照してください]

于 2013-04-10T20:48:39.350 に答える
1

あなたが探しているのはこのプラグインだと思います(modxのバージョンによって異なります):

https://github.com/digitalbutter/MODX-Mirror

https://github.com/digitalbutter/FEM

すべてのチャンク、スニペットなどはディスク上にあります。ファイルに加えられた変更は、完全な SQL インポート/再インポートを行う必要なく、適切なデータベースの変更をトリガーします。これにより、バージョン管理システム/分散開発環境/自動展開が可能になります。

于 2014-03-20T19:32:47.050 に答える