Вопрос

В ближайшем будущем я получу около 2 недель на перемещение и улучшение нашей среды разработки на работе.

В основном мы разрабатываем один большой проект PHP/MySQL с участием 2–10 разработчиков.

На данный момент у нас есть один сервер разработки, на котором работает Apache с mod_userdir, каждый разработчик имеет папку /public_html в своем доме (доступном для Samba).Для VCS и управления проектами/отслеживания проблем мы используем Subversion и Trac.Тестирование/развертывание требует некоторых действий вручную, автоматизации здесь мало.

В мои планы относительно новой установки входят следующие изменения в существующую систему:

  • Непрерывная интеграция
  • Интегрируйте CI в Trac, создайте/найдите плагин, который предлагает запускать действия после успеха или неудачи сборки (т. е.развернуть в промежуточном/живом режиме)
  • Создавайте сценарии автоматического развертывания (в один клик)
  • Интегрировать (доксиген)-Документация в билд-прогресс и как-то в Trac
  • Добавлять автоматическое управление версиями
  • Добавьте еще один уровень мониторинга (локальный nagios контролирует нашу производственную систему-nagios)
  • Добавьте работающий по ночам ведомый сервер репликации MySQL, который затем разработчики смогут использовать для тестирования данных up2date.
  • Просмотрите планы резервного копирования
  • Задокументируйте, как и почему я все настроил таким образом

Есть ли у вас какие-либо советы/подсказки, что можно улучшить дальше?Что-то нам следует сделать по-другому?

Это было полезно?

Решение

Я бы позаботился о том, чтобы вы писали сценарии автоматического развертывания таким образом, чтобы их мог использовать ваш инструмент непрерывной интеграции. Хадсон (и, как я подозреваю, CruiseControl) по сути оборачивает эти сценарии и обеспечивает отличный интерфейс.

Hundson прост в установке и поставляется с Плагин отслеживания, SVN, CVS, плагины Git и Доксиген плагин и другие практически для всего, что вы только можете придумать.Предостережение:Я не использовал все эти плагины, и они могут делать не совсем то, что вам нужно...

Если у вас есть бюджет на программное обеспечение CI, то вам стоит обратить внимание на TeamCity (или вы используете Укушенный?).

У вас есть прекрасная возможность, так что удачи!

Другие советы

Моё единственное предложение — не тратить слишком много времени на

  • Задокументируйте, как и почему я все настроил таким образом

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

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

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

Ваше здоровье

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top