Управление развитием команды на общем сайте - PullRequest
4 голосов
/ 11 июня 2010

Мне нужно знать, как лучше всего управлять групповой веб-разработкой на общем сервере (hostgator).

В прошлом я занимался индивидуальной веб-разработкой на общем сервере, и у меня всегда были настройкиSVN через SSH обеспечивает довольно приятный рабочий процесс разработки (контроль версий, быстрые фиксации, работа через eclipse / subclipse и т. Д.).Тем не менее, я также знаю, что с этой настройкой мне пришлось сделать довольно сложные изгибы после фиксации, чтобы экспортировать репозиторий в / public_html;и, следовательно, сделать тестовый код тестируемым.

Это похоже на утомительную и подверженную ошибкам настройку для всей команды.Я хотел бы иметь возможность:

  1. Легко тестировать последний код в хранилище.
  2. Несколько легко переместить код в хранилище в рабочий.
  3. ИспользованиеIDE, например eclipse / subclipse, для удобной работы с репозиторием.

Имея это в виду, кто-нибудь знает хорошую настройку контроля версий / репозитория для разработки веб-сайта с командой из 4-5 человек?

Большое спасибо.

РЕДАКТИРОВАТЬ: Я довольно уверен, что застрял в SVN.Не личное предпочтение, а ограничение моего веб-хостинга.Но это не столько проблема хранилища (можно управлять с помощью SVN), сколько проблема развертывания.Что и как является лучшим способом развертывания кода репозитория для тестирования и производства.У меня нет такой роскоши, как сервер сборки, такой как Hudson, на моем сервере общего хостинга.Да, я могу написать хуки после фиксации, но они кажутся слишком подверженными ошибкам, и они уже очень причудливы.Если это лучшее, что я могу получить, тогда мне придется управлять.Просто любопытно, если кто-то столкнулся с другим вариантом.

Ответы [ 5 ]

5 голосов
/ 18 июня 2010

Давайте поймем это просто

лучший способ работать над проектом с любым количеством коллег - через svn-клиент.У меня есть лучший опыт работы с tortoisesvn

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

your_project
  trunk
  branches
  tags

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

branches
  r01
  developer1
  developer2
  developer3

, поэтому порядок действий должен быть таким:

  • в началекаждый месяц (зависит от активности в проекте) устанавливается новый выпуск (создается как ветка из ствола)
  • разрабатываются новые задачи, и каждый разработчик создает свою собственную новую ветку
  • , когда разработчик завершает свою веткуон объединяет его с новым выпуском
  • после того, как каждый разработчик закроет свою ветку и новый выпуск будет успешно завершен, администратор создаст тег с именем, например, «tags / test-r01.01»

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

и, наконец, когда настало время (каждый тестер выполняет свою работу), администратор объединяет последний выпуск с транком (наш стабильный код), после чего создает новый тег, например теги/ r01 из trunk и hudson выполняют всю остальную работу (автоматическое развертывание новой версии нашего веб-сайта)

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

2 голосов
/ 21 июня 2010

Я знаю, что вы упомянули конкретно Subversion, но вы застряли на Subversion? Я обнаружил, что в многопользовательской среде разработки использование git НАМНОГО лучше. Одни только способности отслеживания слияний - спасатель. А тот факт, что каждый человек имеет полную историю локально, позволяет быстрее просматривать историю и разрабатывать в автономном режиме. Вы теряете несколько способностей, которые у вас есть в Subversion. Самая большая потеря - это проверки поддеревьев и возможность создавать ACL на поддеревьях. ИМХО, от этого стоит отказаться. Несколько небольших скриптов, и вы можете полуавтоматизировать развертывание, используя также git.

1 голос
/ 21 июня 2010

Я изучаю возможности https://bespin.mozillalabs.com/ для моей веб-разработки. Выглядит довольно многообещающе. редактор и система контроля версий. полностью онлайн. попробуйте на этот раз и посмотрите, если вам это нравится.

0 голосов
/ 19 июня 2010

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

Хорошее обсуждение здесь: Настройка непрерывной интеграции с SVN

Что касается лучшей системы управления исходным кодом для вашей команды в целом, похоже, что большинство людей, которые входят в игру заново, предпочитают либо git, либо Mercurial (обе считаются распределенными системами контроля версий). Самой большой критикой SVN является сложность функции ветвления / слияния. Большинство людей продвигают git / mercurial из-за способности легко переходить и объединяться, что позволяет каждому разработчику иметь свой собственный репозиторий на своем локальном компьютере и объединять свой репозиторий с центральным репозиторием, когда они достигают определенных этапов. Это означает, что им не нужно ломать сборку с наполовину рабочим кодом, но также не нужно тратить недели без использования контроля исходного кода, пока они вносят действительно сложные изменения в ветку на своей локальной машине.

0 голосов
/ 12 июня 2010

Вы можете использовать что-то вроде:

http://www.assembla.com? Филиал = joedeveloper

(простите за присоединение партнера)

Позволяет вам развернуть в 1 клик из репозитория и предоставляет такие вещи, как инструменты Scrum, билеты и т. Д.

Другими низкотехнологичными решениями было бы просто сделать промежуточный сервер public_html / git-репозиторием.

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

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