Организация техпроцесса по разработке сайта (контроль версий, тестирование, обновление на сервере)

Как грамотно организовать разработку сайта несколькими разработчиками и прохождение по цепочке Development -> Testing -> Stage -> Production. А именно:

1. Организация репозитория и рабочих мест
2. Автоматизированная «заливка» новой версии на сервера (тестовый, рабочий) — обновление изменившихся файлов, удаление более ненужных, ..., автоматизированное обновление структуры БД
3.?

Прошу помочь советом или ссылками.
  • Вопрос задан
  • 3265 просмотров
Решения вопроса 1
Vlad911
@Vlad911
Изучайте технологии Continuos Integration!
Ant/Maven, SVN, Hudson, xUnit,…

По сути вам нужно автоматизировать сборку и разворачивание. Это решается перечисленным набором технологий.

Боюсь только, что если проекты очень простые, то это только замедлит процесс разработки, т.к. в малых проектах вместо покрытия кода тестами и автоматизации меньшее время уделяется ручному тестированию. Да и есть вещи, которые нельзя протестировать за вменяемое время без ручного вмешательства — вёрстка, например.

Большую часть ваших задач покрывает Ant, т.к. единожды написав сценарий сборки, вы можете его использовать во всех последующих проектах. Он умеет заливать файлы по SSH/FTP, прогонять SQL на СУБД, выполнять консольные команды (следовательно, можно использовать и для phpUnit, или на чем вы пишете?) — а это основные задачи.

Тестируемый сервер полезно держать в Интернете, т.к. иногда нужно заказчику показать текущее состояние дел. Это можно сделать подключив сервер на статический IP, или купив под это отдельный хостинг. Свой сервер держать накладнее.

Свой SVN поднимается быстро, держать его в интернете не вижу смысла на первых порах.

А дальше дело техники — скрам и всё такое.

Ну рабочие места это самое главное! Каждому программисту по секретарше, большие столы, дарт, верстальщику компутер с большим монитором и виндой, программистам — десктопы на убунтах. Полезно держать свой сервак. Нужна локалка, естественно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@shsmad
Дополню предыдущий пост. Очень не плохо иметь time-tracking и ticket системы, например, redmine. Нужно дать возможность оперативно регистрировать ошибки, причем желательно не только внутри компании, но и клиентам. Триггеры в SVN можно настроить, чтобы привязывали например коммиты и запросы на исправление ошибок.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы