Я не думаю, что для этого есть простой ответ поваренной книги, потому что это очень сильно зависит от вашей среды. Независимо от того, что вы придумали, я настоятельно рекомендую использовать подход, основанный на сценарии, причем сценарии развертывания находятся в самом источнике управления. Эти сценарии также позволят улучшить интеграцию с решениями сборки (см. Ниже).
Простейший такой скрипт, который будет запускаться в рабочей среде, будет просто командой получения последней версии (или получения конкретной версии) из исходного элемента управления.
Следующая задача - развертывание базы данных. Решение, которое мне больше всего понравилось для проектов малого и среднего размера, заключается в том, чтобы поддерживать таблицу версий схемы в каждой базе данных и иметь все сценарии обновления DDL и обновлений данных в исходном управлении (включая источники данных, которые они используют в сжатых архивах). Сценарии нумеруются последовательно (начиная с 000001 ..., 000002 ... и т. Д.), А сценарий развертывания, который я запускаю, просто сначала создает резервную копию существующей базы данных, затем получает последний скрипт базы данных запуска из таблицы версий схемы, а затем запускает любые новые сценарии базы данных, найденные в исходном элементе управления в правильном порядке, соответственно обновляя таблицу версий схемы.
Этот подход позволяет мне быстро восстановить базу данных с нуля.
Эти два подхода, вместе взятые, позволяют быстро развернуть базу кода для нескольких различных постановочных машин, среду QA, бета и т.д.
Для только немного более сложных сценариев, вы должны запустите сервер интеграции интеграции, такой как Kieveli et. и др. который по существу «регулярно восстанавливает» все ваше развертывание и, следовательно, содержит сценарии, чтобы сделать то, что вы могли бы запустить «вручную» выше.
Развертывание базы данных также можно сделать более сложным, создав сценарий отката для каждого сценария базы данных. Затем вы должны написать небольшое приложение-контроллер для их обработки. Существует несколько решений OSS для такого рода материалов, и один из них может соответствовать вашим потребностям.
НО, убедитесь, что вы никогда не автоматическое развертывание базы данных в производственной среде ;-)
Хадсон является удивительным. – stimms