Настройка для Pharo (и Драгоценный камень)
Каждый разработчик работает по своему образу. Каждое изменение метода, которое он вносит, сохраняется локально в файле изменений. Это позволяет восстановить при сбое образа. Коммиты производятся путем создания файла monticello, содержащего имя пакета, порядковый номер и имя разработчика. Он знает свое происхождение. Этот файл сохраняется на сервере WebDAV. Здесь его подобрал Задача Дженкинса. Это запускает модульные и интеграционные тесты и создает новые образы, поэтому разработчики могут начинать со свежего образа (по крайней мере) каждый день. Вот некоторые подробности о слиянии с использованием monticello. Состав продукта (структура пакета) - это еще один файл Monticello, содержащий описание metacello. Это также позволяет развиваться на Pharo и развертываться на Gemstone. Время от времени вам нужно добавлять миграции классов.
Для зависимостей, отличных от smalltalk, разработки, принятия тестов и различий в производстве добавьте создание образов виртуальных ящиков с помощью vagrant, chef-solo (или марионетка, надеюсь, скоро Коралл), veewee. Конечно, они управляются версией с помощью git.
Помимо использования статических инструментов контроля качества кода (smallLint, также проверяет различия между диалектами smalltalk), добавьте Moose и создайте свои собственные контекстно-зависимые динамические визуализации проекта (гуманная оценка)
В VisualWorks Smalltalk местный разработчик использует STORE с реляционной базой данных (например, PostgreSQL) для хранения локальных коммитов. Код организован в пакеты пакетов с пространствами имен. Сценарий репликации используется для копирования локальных версий в центральную базу данных и из нее. Оттуда поток такой же, как и в случае с Pharo.
[обновление] На Esug2012 Дейл Хенрихс представил работу, которая позволяет использовать git и github для управления кодом smalltalk для нескольких диалектов. По сути, была определена файловая структура (Cypress для Amber, Gemstone, Pharo, Squeak, VisualAge, STIG для VisualWorks) для хранения методов smalltalk в каталогах. В настоящее время это больше нацелено на обмен кодом между диалектами, чем на замену собственной SCM.
person
Stephan Eggermont
schedule
23.11.2011