Процесс создания новой сборки и ее выпуска в производство является важным шагом в SDLC, но он часто остается задумчивым и сильно варьируется от одной компании к другой.Усовершенствования процесса выпуска
Я надеюсь, что люди поделятся улучшениями, которые они внесли в этот процесс в своей организации, поэтому мы все можем предпринять шаги, чтобы «уменьшить боль».
Итак, задайте вопрос, укажите одну болезненную/трудоемкую часть процесса выпуска и что вы сделали для ее улучшения?
Мой пример: у предыдущего работодателя все разработчики изменили базу данных в одной общей базе данных разработки. Затем, когда дело дошло до времени выпуска, мы использовали SQL Compare Redgate для генерации огромного сценария из-за различий между базами данных Dev и QA.
Это работает достаточно хорошо, но проблемы с этим подходом являются: -
- всех изменений в базе данных Dev включены, некоторые из которых все еще может быть «работает в процессе».
- Иногда разработчики вносили противоречивые изменения (которые не были замечены до тех пор, пока выпуск не был выпущен)
- Это было трудоемким и ручным процессом для создания и проверки подлинности скрипта (по проверке я имею в виду, пытаюсь устранить такие проблемы, как проблема 1 и 2).
- Когда возникли проблемы со сценарием (например, порядок, в котором выполнялись действия, такие как создание записи, которая опирается на запись внешнего ключа, которая находится в скрипте, но еще не запущена), потребовалось время, чтобы «настроить» ее так он прошел гладко.
- Это не идеальный сценарий для непрерывной интеграции.
Таким образом, решение было: -
- Принудительно политику всех изменений в базу данных должны быть написаны сценарии.
- Соглашение об именах важно для обеспечения правильного выполнения порядка скриптов.
- Создайте/используйте инструмент для запуска скриптов во время выпуска.
- Разработчики имели свою собственную копию базы данных действительно развиваются против (так что больше не было «наступая друг другу на пальцах»)
Следующий релиз после того, как мы начали этот процесс был намного быстрее, с меньшим количеством проблем, на самом деле единственные проблемы были обнаружены из-за того, что люди «нарушали правила», например, не создавали сценарий.
Как только проблемы с выпуском QA были исправлены, когда пришло время выпускать в производство, было очень плавно.
Мы применили еще несколько изменений (например, введение CI), но это было самым значительным, в общем, мы сократили время выпуска примерно с 3 часов до максимум 10-15 минут.
см. Также http://serverfault.com/questions/16698/what-do-you-wish-developers-would-do-differently ... многие ответы на этот вопрос прямо или косвенно касаются процесса выпуска шаги –