2012-03-08 5 views
1

これを本当に簡単にするようにしましょう。私は開発者のためにVagrantを導入しています。私はPuppetを使用してマシンをプロビジョニングします。私はマシンの2つのセットを持って、1つは、apache/mysql5サーバーとapache/mongodbサーバーを持っているとしましょう。私はさまざまなコンポーネントを管理するためにPuppetを使用しますが、私は中央のPuppetmasterサーバーを使用していません。Mercurialの特定のディレクトリをプルしますか?

これは、Mercurialリポジトリ内に2つのディレクトリを提供しているということです。 mysqlを使って何かを変更する必要がある場合、devsに最新の変更を適切に引き渡させることができます。私が抱えている問題は、ディレクトリ構造を複製することなくリポジトリ構造をどのように扱うかです。

manifests - これはマシンごとに異なり、mysqlマシンはmongodbマシンがmongodb

modulesための独自の指示を持つことになりますしながら、mysqlをインストールするためのディレクティブを持っています - これは、すべてのマシン間で共有されているが、唯一の必要なフォルダこのフォルダの中には、各マシン(つまり、modules/mongodbとmodules/mysql)に格納されています。

これをすべて1つの大きなリポジトリに投げた場合、私は自分の「apache + mysql」サーバーが「apache + mongodb」モジュールのモジュールをダウンロードしないようにします。 manifestsディレクトリを特定のレポに入れ、modulesフォルダから適切なフォルダのみをダウンロードする方法はありますか?

+0

サブレポジトリを試すことができます。 –

答えて

3

SubrepositoryはMercurialの機能性を使用できます。私が正しくあなたが望むものを理解していれば

、私は次の操作を行います:各さまざまなモジュール

  • のために、各様々なマニフェスト
  • 1つのリポジトリのための

    1. 1つのリポジトリを「トップレベル」のリポジトリを作成します。上からのさまざまな必要なサブレポジトリを含むマシンの種類ごとに表示されます。
  • 関連する問題