Инструменты, помогающие управлять процессом продвижения приложений в корпоративной среде - PullRequest
1 голос
/ 10 октября 2008

Мне интересно, как другие управляют продвижением кода с DEV на TEST на PROD на предприятии.

Какие инструменты или процессы вы используете для управления «бюрократизмом», критериями входа / выхода?

Моя нынешняя организация наполовину застряла между некоторыми настраиваемыми функциональными возможностями типа онлайн-форм и бумажными зависимостями для отправки документов, получения разрешений и проверок.

Все это остается в руках руководителей проектов для отслеживания того, что было отправлено, прошло проверку, одобрено и дает рекомендации руководству, если есть какие-либо препятствия, которые могут нуждаться в одобрении, чтобы быть "пропущенными", прежде чем приложение может быть переведено в следующую среду .

Идеально подойдет браузерное приложение ... так что там? пожалуйста, покажи мне, что ты гуглфу лучше моего.

Ответы [ 2 ]

3 голосов
/ 10 октября 2008

Трудно найти тот, который хорош в Google. Существует множество инструментов для управления проблемами, поэтому я упомяну, что мы используем и что мы хотели бы использовать.

В настоящее время мы используем продукты serena. Они хорошо работали для нас в прошлом. Team Track - это наше управление проблемами, которое управляет жизненным циклом любой проблемы, над которой мы работаем. Диспетчер версий является нашим источником контроля и имеет функцию внедрения рекламных групп, таких как DEV TEST And PROD. Мы используем DEV, TSTAGE, TEST, PSTAGE и PROD, чтобы обозначить движение от одного к другому, но это почти то же самое. Два продукта прекрасно интегрируются, так что источник, связанный с проблемами, связан, но у нас нет настройки процесса сборки в этой среде. Это дорого, но хорошо работает.

Мы ожидаем перехода на более распространенную систему, использующую Jira для управления проблемами, Subversion для управления исходными кодами, Fisheye для объединения этих двух функций и Cruise Control для управления сборкой. Это дешевле, всего несколько тысяч для корпоративного лицензирования и предоставляет все те же функции, но с дополнительным бонусом SVN, который является очень хорошим менеджером версий кода.

Надеюсь, это поможет.

0 голосов
/ 10 октября 2008

За несколько лет я испытал несколько разных сценариев:

Dev -> Test: обычно есть дата замораживания кода, которая останавливает работу над новыми функциями и получает в тестовой среде код, помеченный / помеченный / заархивированный, который создается. Затем он копируется на машины и тесты проходят нормально. Это также обычно наименее детализированный из всех толчков.

Test-> Prod: для этого требуется незначительное изменение, которое должно привести к прекращению производства, что может означать, что страница «уловила рыбалку» увеличивается или IIS не запускает никаких сайтов и код копируется заново. В этом случае есть особые случаи, когда балансировщик нагрузки может действовать как переключатель, так что продвижение происходит, и ни один из клиентов не испытывает никаких простоев, так как те, что на старом сервере, переместятся после окончания сеанса.

Чтобы развить эту идею коммутатора, необходимо настроить 2 потенциально активных сервера, при этом только один сервер принимает запросы, чтобы балансировщик нагрузки отправлял весь трафик на одну машину, которую можно переключить, когда другой сервер имеет обновленный код. чтобы жить.

Может также существовать промежуточная среда, которая находится между тестированием и производством, где процесс схож с точки зрения установленной даты, когда происходит повышение.

Там, где я раньше работал, бывали дни слияния, когда разработчик проводил большую часть дня в коде слияния Perforce, чтобы его можно было перенести из одной среды в другую.

Теперь есть пара случаев, когда это не используется:

«Исправления» или «Горячие исправления» возникали там, где я работал, и в этом случае отдельные файлы копировались в промежуточную и производственную среды самостоятельно, поскольку изменение кода должно было попасть в Production ASAP, поскольку что-то сломалось в производстве или что-то новое, что нужно было сделать, что занимает 2 минуты. В этом случае изменение кода должно быть проверено и одобрено перед выходом.

Это разные подходы, которые я видел, когда обычно есть графики и графики, которые, возможно, нужно изменить, или привнести дополнительные ресурсы, чтобы назначить трудную дату, например, если конференция в какой-то конкретный уик-энд готова к тому или иному для этого.

Конечно, в нескольких местах было «О, это было сломано? Дай мне посмотреть ...», а через несколько минут: «Нет, видите, это не сломано для меня», где кто-то изменился. вещи без разрешения или что-то еще, когда у компании все еще есть то, что они называют «ковбойским программированием».

Еще один момент - масштаб выпуска: 1) Tiny - это тот случай, когда одна веб-страница поднимается, чтобы пользователь X мог сделать Y.

2) Маленький - Горстка файлов, которые на самом деле не сложны, но не совсем тривиальны.

3) Средний - для перехода из одной среды в другую требуется изменить кучу файлов и обычно есть сценарии для перемещения.

4) Большой - Там, где запланированы промо-акции, и у разных разработчиков спрашивают, кто принимает какие смены, когда будет сделан живой толчок. У меня это было в случае миграции данных в дополнение к выпуску некоторых новых сайтов электронной коммерции.

5) Мамонт - Где все новое, включая то, как это будет использоваться. Я не думаю, что когда-либо видел такой размер, но я думаю, что у Microsoft или Google будут выпуски такого размера.

Где-то в этом спектре большинство выпусков падает, и поэтому объем планирования и подготовки может сильно отличаться, и давайте не будем забывать, что соблюдение нормативных требований может быть собственной болью в выполнении некоторых вещей.

...