Улучшение нашей среды разработки на работе
-
22-07-2019 - |
Вопрос
В ближайшем будущем я получу около 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 (или вы используете Укушенный?).
У вас есть прекрасная возможность, так что удачи!
Другие советы
Моё единственное предложение — не тратить слишком много времени на
- Задокументируйте, как и почему я все настроил таким образом
Это последний пункт в моем списке по улучшению нашей среды разработки, и я до сих пор этого не сделал.
Каждая часть постоянно модифицируется или улучшается, чтобы обеспечить лучшую функциональность или упростить использование.Я бы посоветовал попытаться оставить «почему» в комментариях как можно ближе к тому месту, где вы на самом деле это реализуете.Это единственное место, где оно понадобится кому-то, кто меняет вашу систему.
Возможно, также одна большая диаграмма, показывающая ссылки и имена физических серверов, но в остальном документация мне показалась хлопотной.
Ваше здоровье