2011-06-27 17 views
4

開発環境の設定方法についていくつか質問があります。開発ワークフロー、Joomla、GIT

私は現在SOBI2を使用しているウェブサイトを運営しています。 SOBI2は、Nooku Frameworkを使用して作成しているカスタムコンポーネントに置き換えられます。

これまでのところ、私のローカルホストにJoomlaをインストールしています。 Nooku Frameworkと私のカスタムコンポーネントは、自分のコンピュータ上の自分のディレクトリにあり、Joomlaインストールにシンボリックリンクされています。私はこれをしています。なぜなら、開発の際にそれらを分けておくのがよいからです。私のカスタムコンポーネントはGITを使って追跡され、Nookuは公開SVNリポジトリで追跡されます。 これはかなり標準的な設定だと思います。

ライブのJoomlaインストールを自分のlocalhostにクローンし、GITを使ってそれを追跡して、変更をライブサーバに簡単にプッシュできるようにします。現在、ライブサイトはバージョン管理されていません。

どうすれば簡単にできますか?

GITリポジトリを2つ使用することをお勧めします.1つは私のカスタムコンポーネントのみを含み、もう1つはサイト全体です。私のカスタムコンポーネントやサイトを開発する際 ワークフローは、このようなものになるだろう:

  1. 空のJoomlaのカスタムコンポーネントとテストへの変更は
  2. は、変更をコミットし、インストールしてください。
  3. 私のカスタムコンポーネントリポジトリから私のローカルサイト(GITを通じてライブサイトのミラー)に変更を引き込みます。
  4. すべてが機能していることを確認してください。
  5. サイトGITリポジトリにコミットして変更をプッシュします。
  6. サイトリポジトリからライブサーバーへの変更を引き込みます。

データベースの更新は手動で処理する必要があります。

  • これは良い方法ですか?
  • ローカルサイト内のカスタムコンポーネントをトラッキングするにはどうすればよいですか?私はGITのサブモジュールについて聞いたことがありますが、これは何のために使われていますか?

  • このような種類のものについて、良いガイドがありますか?

よろしく ライナス

+0

のようなコマンドで簡単に呼び出すことができます。これは確かにGitサブモジュールが使用されているものです。私は思う* Gitはあなたがディレクトリ木の下に既存のレポを含んでいるディレクトリにレポを作成するなら、それを自動的に設定するだろう。 – James

答えて

3

私たちは次のようにそれを行うが、Mercurial source code management toolを使用して:

  • ビットバケット(またはローカル作成)からチェックアウト空のリポジトリ
  • インストールJoomla!そのフォルダに
  • に追加します。すべてのコアjoomlaのをhgignore ファイルとコンポーネントとは、彼らが
  • リポジトリに追加するコンポーネントのみ、 プラグイン、我々は

だから基本的に私たちは私たちのリポジトリフォルダ内のJoomlaを持って開発したモジュールを犯したことはありませんことを確認してくださいすべてのファイルは無視され、コミットされません - 私たち自身のコンポーネントのファイルを除きます。

次に、本番サーバーのリポジトリをチェックアウトし、Joomla!をインストールします。そこ。 (最初のチェックアウト後、Joomlaだけをインストールしてください)。プロダクションまたは他の場所へのレポをチェックアウトすると、ファイルのみがチェックアウトされます。

データベースの変更では、通常、dbフォルダ(または名前が何であれ)があります。データベースに変更を加えるスクリプトをSQLファイルに追加するだけです。 mysql -uUser -pPass dbname < 12.table_name.change_name.sql

+0

このアプローチには欠点があります。これらのコンポーネントはgitで更新することはできません。 – sectus

関連する問題