7

私は大規模な大学で働いており、ソース管理システム (git、svn など) を使用して Web サイトを管理するように指示されています。MySQLに大きく依存するJoomlaを使用しています。

現在、ウェブサイトを変更するたびにライブサーバーにプッシュする開発サーバーを使用するほとんど機能しないシステムがあります。それは苦痛であり、常にうまくいくとは限りません。さらに、別の開発者が行った変更を上書きすることができます。

開発ブランチの Joomla フロント エンドを介してコンテンツを管理し、それらの変更をテスト ブランチにプッシュしてから、マスター (ライブ) ブランチにプッシュできるようにしたいと考えています。

彼が雑草を刈るのをやめることなく: 私の質問は、本質的に、データベースに依存する Joomla のような CMS を使用して Web サイトを管理するための良い戦略は何ですか?

4

1 に答える 1

4

データベースも同期する必要があるため (コンテンツはデータベースに保存され、イメージとメディアはファイルシステムに保存されます)、コミット/プッシュ スクリプトでデータベースをファイルにダンプし、プル スクリプトでデータベースをロードする必要があります。 . これは、事前および事後フック、 http: //githooks.com/または google it を使用して実行できます。

ただし、個別に同期したい Joomla のさまざまな部分があります。

3 つのサーバーを考えてみましょう。

  • 編集サーバー: コンテンツが管理される場所
  • 開発サーバー: 拡張機能がテストおよび構成されている場所
  • テストサーバー
  • 本番サーバー

3 層の情報を考えてみましょう。

  1. ユーザーとセッション データ: これはまったく同期されるべきではないため、ユーザーはログアウトされず、運用サーバーにユーザーが登録されている場合、そのログインは保持されます。

  2. コンテンツ、ユーザー グループ、およびアセット (権限): これは、記事、ニュース、画像であり、編集からテスト運用、および開発に移行する必要があります (ユーザー レベルでコンテンツ固有の権限を持っている場合を除きます。つまり、各ユーザーが個別の権限を持っている場合を除きます)。各コンテンツ項目で)

  3. テンプレート、拡張機能、モジュール、メニュー構成: これはdevからtest、さらにproductioneditに進みます。

これらのデータの各グループには、関連するデータベース テーブルをコミット/プッシュするために、独自のブランチとカスタムの事前コミット フックが必要です。各グループのテーブルのリストは、使用している拡張機能によって異なります。

私はイタリア語で svn 用の記事を書きましたが、私たちが使用する bash スクリプトの一部を入手できます: http://www.fasterjoomla.com/joomla-tips/svn-per-joomlaまたは Google で翻訳http:// translate.google.com/translate?sl=it&tl=en&js=n&prev=_t&hl=it&ie=UTF-8&u=http%3A%2F%2Fwww.fasterjoomla.com%2Fjoomla-tips%2Fsvn-per-joomla

于 2013-07-16T09:47:25.377 に答える