2

CMS(具体的にはJoomla!)でソフトウェア構成管理を行う際のすべての問題をカバーするのに問題があります。もちろん、カスタムテンプレートだけでなく、カスタムモジュールやコンポーネントも作成しています。これらのウェブサイトとアプリはクライアント向けであり、社内向けではありません。

テンプレートやコンポーネントのコードだけでなく、サイトの構成を実際にバージョン管理したいのは、修正のために立ち上げたり、他の人にできるだけ早く転送したりできるようにするためです。今のところ、それは完全なJoomlaを保存することを意味します!インストールされているコンポーネントとテンプレートのバージョンを含め、SVNのサイトごとにインストールし、実際のデータベースエクスポートを保存します。コンポーネントについては、「パッケージ化された」バージョンのコードも保持しています(以下を参照)。テンプレートはJoomlaにドロップするだけなので、通常は気にしません。インストールして動作します。

私が現在議論しているこの設定の問題は、カスタムコンポーネントの開発にあります。Joomla!(および他のほとんどのCMS)拡張機能は、通常、Webインストーラーを使用して展開されます。DBの変更が必要なため、(少なくとも最初は)特定のフォルダーにファイルをドロップすることはできません。Joomla!インストーラーシステムは、インストールフックとアンインストールフックを使用してDBとファイルの移行を提供するため、展開にはかなり合理的なシステムです。

現在、私は次のいずれかを行っています。1)インストールされたコンポーネントを直接操作し、ファイルを追加および変更してから、それらをコンポーネントのパッケージバージョンに手動でコピーするか、2)パッケージされたコンポーネントを操作し、インストーラーを使用して実際に結果を表示します。このオプションは通常時間がかかりすぎるだけですが、特にDBの移行に関して、コードを「解放可能」に保つという利点があります。

どちらの場合も、変更はチェックイン前に両方のバージョンのファイルに複製され、複製は私にはにおいのように思えます。

それで、他の誰かがこれをしますか?より良いオプションはありますか?

4

1 に答える 1

2

「1/」は「一種の」道である必要があります

「パッケージング」という言葉がある場合、それはバージョン1ではなく、2つの「コンポーネント」(ファイルのセット)を意味します。

  • 1つの「開発」コンポーネント:非常に大きく、必要なすべてのファイルが含まれています
  • 1つの「配布」コンポーネント:非常に小さく、圧縮ファイルがいくつか含まれています。

これには以下が含まれます。

  • その配布コンポーネントを自動的にビルドおよびバージョン管理する方法(これらのファイルを圧縮して保存することにより)
  • その配布コンポーネント(パッケージ化されたバージョンの圧縮バージョンを表す)を自動的にコピーし、圧縮を解除して、テストまたは本番プラットフォームでrsynchします。

このようにして、変更を単に「複製」するのではなく、実際の完全な構成を追跡します。

  • 別のプラットフォームに展開する準備ができました
  • または、現在デプロイされているパッケージを同期するために使用されます。
于 2009-04-09T15:46:13.487 に答える