Mise en place pour Pharo (et Pierre précieuse )
Chaque développeur travaille à son image. Chaque modification qu'il apporte à une méthode est enregistrée localement dans le fichier de modifications. Cela permet de récupérer en cas de plantage de l'image. Les commits sont faits en créant un monticello ayant un nom de paquet, un numéro de séquence et le nom du développeur. Il connaît son ascendance. Ce fichier est enregistré dans un WebDAV serveur. Ici, il est récupéré par un Tâche de Jenkins . Il exécute les tests unitaires et d'intégration et crée de nouvelles images, de sorte que les développeurs peuvent commencer avec une image fraîche (au moins) chaque jour. Voici quelques détails sur fusionner utiliser monticello. La composition du produit (structure du paquet) est un autre fichier monticello contenant un metacello description. Cela permet également de développer sur Pharo et de déployer sur Gemstone. De temps en temps, vous devez ajouter des migrations de classes.
Pour les dépendances non-smalltalk et les différences de développement, d'acceptation de test et de production, ajoutez la création d'images virtualbox à l'aide de vagabondage , chef-solo (ou marionnette espérons-le, bientôt Coral ), veewee . Ils sont bien sûr gérés par version en utilisant git.
Outre l'utilisation d'outils de contrôle statique de la qualité du code ( smallLint qui vérifie également les différences entre les dialectes smalltalk), ajoutez Orignal et créer vos propres visualisations dynamiques du projet en fonction du contexte (évaluation humaine)
Sur VisualWorks Smalltalk le développeur local utilise STORE avec une base de données relationnelle (par exemple PostgreSQL) pour stocker les commits locaux. Le code est organisé en paquets, avec des espaces de noms. Un script de réplication est utilisé pour copier les versions locales vers et depuis une base de données centrale. A partir de là, le flux est le même qu'avec la configuration Pharo.
[mise à jour] À Esug2012, Dale Henrichs a présenté des travaux permettant d'utiliser git et github pour gérer le code smalltalk pour plusieurs dialectes. En gros, une structure de fichiers a été définie ( Cypress pour Amber, Gemstone, Pharo, Squeak, VisualAge, STIG pour VisualWorks) pour stocker les méthodes smalltalk dans des répertoires. Il est actuellement destiné à l'échange de code entre dialectes plutôt qu'à remplacer le SCM natif.