2011-01-13 10 views
0

私はほぼカスタムCMSシステムを使用しています。今度は別のWebサイト(さらには将来)にインストールしたいと思いますが、コアファイルを変更するたびに、各サーバー/ Webサイトを別々に更新する必要があります。複数のサーバーから1つのサーバーからCMSコアファイルをロード

私が本当に望むのは、私たちのサーバーからコアファイルをロードすることです。私はCMSをインストールすると、(そのサーバー上の)ネイティブ設定ファイルのみを定義し、残りは私たちのサーバーからロードされます。このようにして、私はコアの変更を非常にシンプルかつ一度だけ渡すことができます。

これを行う方法、またはこれを完全に間違った方法ですか?もしそうなら、正しい方法は何ですか?私は何かを見なければならないのですか?それは安全です(https接続のために何千もの支払いをせずに)?

どのように開始するか、開始するのか全く分からず、役立つものが見つからない(多分間違った検索)ので、すべて役立ちます。

ありがとうございます!

注:私のアプリケーションは、実行時にリモートから必要なファイルをロードすることはできませんZend Frameworkの

+0

デプロイメントツール(Phingなど)を使用する場合や、すべてのファイルを手動でコピーするのではなく、少なくとも「svn up」と指定すると、各サーバーを個別に更新することは大きなオーバーヘッドではありません) – Vika

答えて

1

を使用して構築している(または、本当にしたくありません;)。この問題は、すべてのサーバーを更新する適切なリリース&構成管理にまで下がります。しかし、これは主に自動的に行うことができます。
このメカニズムに費やしたい時間に応じて、注意しなければならないことがいくつかあります。一般的な考え方は、リリースを保持する1つの中央サーバーがあり、他のすべてのサーバーで更新があるかどうかを確認し、ダウンロードしてインストールすることです。 svn、アーカイブなどの可能性がたくさんあります。チェック/アップデートは、フロントエンドで手動で、またはバックグラウンドでcronで手動で行うことができます。通常、設定ファイルとデータベース以外のすべての変更されたファイルは、置き換えることができないが、特定の方法で修正する必要があります(これは、更新スクリプトが配置される場所です)。

これは次のようになります。

    それはSVN更新にやる新しいリビジョンがある場合はcronジョブは、SVN
  • 経由でアップデートをチェックサーバ上で実行されている

これは、あなたが設定ファイルとデータベースを変更できないようないくつかの欠点を持つmechansimを実装するのは非常に簡単です。まあ、それは可能ですが、達成するのはかなり難しいでしょう。 cronジョブは、新しいバージョンのupdateserverチェック


  • 多分これはアーカイブベースのソリューションと容易に可能性があります。これは、更新サーバー上のファイルの内容を読み取り、ローカルコピーの新しいバージョンがある場合
  • にそれを比較することによって行うことができ、関連するアーカイブ
  • 開梱アーカイブをダウンロードし、ファイルにコピーし

この方法では、configs /データベースを変更するためのアップデートにupdate-scriptsを含めることができます。

自動更新分布は非常に複雑なトピックであり、これは2つの非常に簡単な方法です。おそらく非常に多くの異なるソリューションがありますし、正しいものを選択するのは簡単な作業ではありません(依存関係のある製品の異なるバージョンを使用するとさらに複雑になります:)。完了する必要があります "。

+0

Oke、それは良いオプションのようにも聞こえる。誰もがSVNについての良い記事やチュートリアルを知っていますか、そのようなことをするシステム/メカニズムを構築する方法はありますか? –

+0

@rick http://subversion.apache.org/faq.html#website-auto-updateがお手伝いします;)このサイトはsvnの設定にも役立ちます:) – Fge

関連する問題