Pharo (およびGemstone )のセットアップ
各開発者は自分のイメージで作業します。彼がメソッドに加えたすべての変更は、変更ファイルにローカルに保存されます。これにより、イメージがクラッシュしたときに回復できます。コミットは、パッケージ名、シーケンス番号、および開発者の名前を持つmonticelloファイルを作成することによって行われます。それはその祖先を知っています。このファイルはWebDAVサーバーに保存されます。ここでは、 Jenkins taskによって取得されます。これにより、単体テストと統合テストが実行され、新しいイメージが作成されるため、開発者は (少なくとも) 毎日新しいイメージから始めることができます。monticello を使用したマージの詳細を次に示します。製品構成 (パッケージ構造) は、メタチェロを含む別のモンティチェロ ファイルです。説明。これにより、Pharo で開発し、Gemstone でデプロイすることもできます。時々、クラスの移行を追加する必要があります。
smalltalk 以外の依存関係と開発、テストの受け入れと製品の違いについては、 vagrant 、chef-solo (または puppet 、できればすぐに Coral )、 veewee を使用して、 virtualboxイメージの作成を追加します。もちろんgitでバージョン管理されています。
静的なコード品質管理ツール ( smallLint、smalltalk 方言間の違いもチェックします)を使用することに加えて、 Mooseを追加して、プロジェクトの独自のコンテキスト依存の動的な視覚化を作成します(人道的な評価) 。
VisualWorks Smalltalkでは、ローカル開発者はリレーショナル データベース (PostgreSQL など) で STORE を使用して、ローカル コミットを保存します。コードは、名前空間を持つパッケージのバンドルに編成されています。複製スクリプトを使用して、中央データベースとの間でローカル バージョンをコピーします。そこからの流れは Pharo のセットアップと同じです。
[更新] Esug2012 で、Dale Henrichs は、git と github を使用して複数の方言の smalltalk コードを管理できるようにする作業を発表しました。基本的に、smalltalk メソッドをディレクトリに格納するためのファイル構造 ( Amber、Gemstone、Pharo、Squeak、VisualAge、 VisualWorks のSTIGの場合はCypress ) が定義されました。これは現在、ネイティブ SCM の代わりとしてよりも、ダイアレクト間のコード交換を目的としています。