Вы несете ответственность за развертывание вашего кода в реальной среде? - PullRequest
5 голосов
/ 06 июля 2010

... или вам нужно обратиться к кому-то еще (человеку, который управляет серверами), чтобы развернуть ваш код?

Я понимаю политику, запрещающую всем входить в систему на работающем производственном сервере, но мне бы хотелось иметь возможность доступа к моему коду, базе данных и файлам, как только они будут активны.

Как это для всех?

Ответы [ 7 ]

1 голос
/ 06 июля 2010

Каждая среда немного отличается.Для сравнения, вы должны решить, что работает для вас.Например, Amazon заставляет своих разработчиков иметь собственный код, который ненавидят некоторые разработчики, но это особенность этой среды, которая поддерживает низкое количество ошибок (когда в последний раз вы видели ошибку на amazon.com?).

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

Лично я предпочитаю присматривать за всем стеком, но все чаще перехожу к поставщикам, которыеПозвольте мне все меньше беспокоиться об оборудовании (EC2, Heroku и т. д.) и уделять больше внимания функциональности приложений.Лично мне нравится владеть кодом и ошибками, так как это означает, что у меня явно есть мотивация подавлять заявки на ошибки - каждая открытая заявка является задержкой для новой функциональности, над которой я хочу работать.

Каждая для своих.

0 голосов
/ 09 июля 2010

Ответы на вышеупомянутую среду разработки и тестирования. Также очень важно иметь выделенный отдельный сервер сборки, который не используется для разработки. Он извлекает исходный код из репозитория, компилирует и создает дистрибутив (в файле EAR или WAR мира Java), который затем развертывается в среде тестирования и т. Д.

Этот сервер сборки также может содержать среду CI и выполнять регулярные ежедневные автоматические сборки.

0 голосов
/ 06 июля 2010

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

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

0 голосов
/ 06 июля 2010

Идеальная последовательность действий при выпуске выглядит следующим образом (в моем маленьком мире):

  1. Разработка Env (где вы ее кодируете и проводите тестирование)
  2. Тестирование Env (где тестеры тестируют его с живыми данными - также вы можете)
  3. На этом этапе он может пойти жить или выпустить на другой полигон, где пользователи могут его тестировать.

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

0 голосов
/ 06 июля 2010

Я только что развернул что-то в реальной среде сегодня.У меня также есть доступ к действующей базе данных.

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

0 голосов
/ 06 июля 2010

В последнем месте, на которое я заключил контракт, есть определенная группа людей, ответственных за развертывание и настройку на производственных серверах.

Весь ваш код должен был быть зарегистрирован в vcs, и именно здесьполучил код для развертывания.Таким образом, у вас нет «доступа» для внесения изменений в код после его запуска.Они развертывали новый / измененный код два раза в неделю, если это не было экстренное развертывание.

0 голосов
/ 06 июля 2010

Все зависит от того, какие процедуры использует компания.Некоторые из них более гибкие, чем другие.Наша организация отходит от разработчиков, имеющих доступ к производственной среде.Теперь все должно следовать процессу QA, а затем операциям (которые занимаются развертыванием и обслуживанием кода).Я думаю, у вас будет меньше инцидентов, но больше времени для исправления ошибок.

...