В настоящее время я работаю над тем же заданием. Я установил nant на свою машину, а затем создал следующие папки
./servername/databasename/release
./servername/databasename/restore
./servername/databasename/rollback
./servername/databasename/test
Затем планируется создать nant целей для каждой задачи (выпуск, восстановление, откат, тестирование).
./servername/databasename/restore/000001.set_database_offline.sql
./servername/databasename/restore/000002.restore_database.sql
./servername/databasename/restore/000003.fix_orphaned_logins.sql
./servername/databasename/restore/000004.do_some_operation_example_upgrade_table_x.sql
Затем я создаю все свои скрипты с числовыми префиксами, чтобы контролировать последовательность выполнения. Идея заключается в том, чтобы создавать задачи сборки, названные так, чтобы они соответствовали моим папкам, поэтому я могу просто выполнить команды, перечисленные ниже, которые быстро выполнят все сценарии в каталогах.
nant restore
nant release
nant rollback
nant test
Я думаю, что мне нужно будет улучшить процесс, чтобы уже иметь отдельные тесты для выпуска и отката, однако эта работа еще не завершена.
Дайте мне знать, если вы решите пойти по тому же пути. Было бы здорово сотрудничать и делиться простым повторяемым процессом.
Причины для этого:
1. Автоматизация
2. Повторяемость
3. Согласованность
4. Добавьте весь код в Source Control
Цель состоит в том, чтобы иметь возможность развертывать и тестировать в нескольких средах и не изменять код при продвижении кода до производства.
С уважением,