Subversion и Symfony 2 - PullRequest
       2

Subversion и Symfony 2

2 голосов
/ 28 января 2012

Моя команда собирается начать веб-проект с использованием фреймворка Symfony2. Мы будем использовать SVN для контроля версий (это не подлежит обсуждению, извините, фанаты git). Я пытаюсь осмыслить, как мы сможем пересмотреть код, а также плавно развернуть его на нашем работающем сервере.

Вот общая система, с которой мы работаем:

  • Сервер SVN
  • Сервер развертывания
  • Каждый член команды должен развиваться локально на своей собственной машине

Как бы я хотел, чтобы наша система работала:

  • Разработчик проверяет код веб-сайта на локальном компьютере
  • Разрабатывается через Eclipse IDE
  • Отлаживает, тестирует и запускает локальную копию сайта на своем компьютере (подключается к серверу развертывания для доступа к БД)
  • Проверяет изменения в репозитории SVN
  • Обновленный код развернут на живом сервере ведущим разработчиком

Это похоже на хороший рабочий процесс? Единственная неудобная часть в этом - то, что каждому разработчику потребуется развернуть стек W / LAMP на своих локальных машинах. Но это все еще возможно.

Кроме того, есть ли какие-либо инструменты или команды, специфичные для Symfony / SVN, которые облегчат реализацию этого рабочего процесса?

Ответы [ 4 ]

5 голосов
/ 28 января 2012

Все выглядит хорошо и очевидно, за исключением одной вещи

Обновленный код автоматически развертывается на работающем сервере

НЕ ДЕЛАЙТЕ ЭТОГО

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

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

1 голос
/ 30 января 2012

Возможно, вы захотите прочитать Как создать и сохранить проект Symfony2 в Subversion запись поваренной книги.

1 голос
/ 28 января 2012

См. Некоторые пункты возможной будущей головной боли:

  1. Если

Разработчик проверяет код сайта на локальном компьютере

Как обеспечить от распространяемых локальных данных (конфигов?)

  1. Если каждый разработчик

подключается к серверу развертывания для доступа к БД

у вас нет никакого решения для ситуации «мы изменили структуру базы данных» и из «аварии данных вне синхронизации», когда вы получили решение

  1. Позиции 3,4,5 вместе выглядят как провокация для работы с гигантскими спорадическими смешанными коммитами вместо того, чтобы "совершать часто, быстро совершать"

  2. Я не видел каких-либо упоминаний о автоматизированных модульных и функциональных тестах

0 голосов
/ 28 января 2012

Я предлагаю CI, например, автоматическое развертывание Hudson после каждого коммита.

Развертывание написано в ANT:

Clear-Cache Drop-Database Схема-обновление Load-светильники

Запуск тестов PHPUnit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...