Управление командой разработки на общий веб-сайт -- svn поле с участием version-control пол Связанный проблема

Managing Team Development on Shared Website


4
vote

проблема

русский

Мне нужно знать лучший способ управления веб-разработкой команды на общим сервере (HostGator).

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

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

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

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

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

Редактировать: Я очень уверен, что я застрял с SVN. Не личное предпочтение, а предел моего веб-хоста. Но это не так много проблем с репозиториями (может управлять с SVN), так же, как проблема развертывания. Что и как лучший способ развертывать код репозитория для тестирования и производства. У меня нет роскоши сервера Build-Server, как HUDSON на моем общий хостинг-сервере. Да, я могу писать пост-коммитские крючки, но кажется, что он слишком подвержен ошибкам, и они уже очень нравятся. Если это лучшее, я могу получить, то мне придется управлять. Просто любопытно, если кто-то работает в другой вариант.

Английский оригинал

I need to know the best way to manage team web-development on a shared server (hostgator).

I have done some individual web development on a shared server in the past, and I have always setup SVN through SSH to have a pretty-nice development workflow (version control, quick-commits, work though eclipse/subclipse, etc). However, I also know that with that setup, I had to make some pretty-sophisticated post-commit hooks to export the repository to /public_html; and, therefore, making the repository code testable.

This seems like a tedious and error-prone setup for an entire team. I would like to be able to:

  1. Easily test the latest code in the repository.
  2. Somewhat easily move the code in the repository to production.
  3. Use an IDE like eclipse/subclipse to easily work with the repository.

With this in mind, does anyone know of a good version-control/repository setup for developing a website with a team of about 4-5 people?

Thanks a lot.

EDIT: I am pretty confident that I am stuck with SVN. Not a personal preference, but a limit of my web host. But, it's not as much of a repository problem (can manage with SVN), as much as a problem of deployment. What and How's the best way to deploy repository code to testing and production. I don't have the luxury of a build-server such as Hudson on my shared hosting server. Yes, I can write post-commit hooks, but it seems a little too error-prone and they are already very fancy. If this is the best I can get, then I will have to manage. Just curious if someone has run into another option.

</div
     

Список ответов

5
 
vote
vote
Лучший ответ
 

Позвольте получить этот прямой

Лучший способ работы над проектом с любым количеством Coleagues - это немного клиента SVN. У меня есть лучший опыт с TortoiseSvn

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

 <код> your_project   trunk   branches   tags   

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

 <код> branches   r01   developer1   developer2   developer3   

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

    .
  • на начало каждого месяца (зависит от деятельности на проекте) устанавливается новый выпуск (созданный как филиал из багажника)
  • новые задачи имеют дело, и каждый разработчик создает свою новую отрасль
  • , когда разработчик доработает свою ветвь, он объединяет его обратно в новый релиз
  • После того, как каждый разработчик закроется его филиал и новый релиз, успешно выполнен, admin Создайте тег, вызываемый например "Теги / test-r01.01 '

А вот поставляется инструменты, такие как HUDSON Whitch После того, как он обнаруживает новый тест, который он автоматически развернут новый тест. Как, когда и где зависит конечно по конфигурации

И, наконец, когда время правильно (каждый тестер делает его / ее работу) администратора слияния Последний выпуск в багажник (наш стабильный код), после того, как создавать новый тег, например теги / R01 из багажника и HUDSON, делают остальную часть работы ( Автоматическое развертывание новой версии нашей сети)

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

 

lets get this straight

the best way to work on project with any number of coleagues is throught some svn client. i have a best experiences with tortoisesvn

first thing you should do after you start a new project is to set up project repository like this

your_project   trunk   branches   tags 

where trunk represend your newest stable production code. dir branches is for developers who work on project. every developer should have his own branche and of course there should be also a dir for release like

branches   r01   developer1   developer2   developer3 

so course of action should be like this:

  • on the begining of every month (depend on activity on project) is established new release (created as branche from trunk)
  • new tasks are deal out and every developer create its own new branch
  • when developer finalize his branche he merge it back to new release
  • after every developer close out his branche and new release is successfully done, admin create a tag called for example 'tags/test-r01.01'

and here comes tools like hudson whitch after he detect new test tag he automatically deploy new test. how, when and where depends of course on configuration

and finally when time is right (every tester do his/her job) admin merge latest release to trunk (our stable code), afterwhitch create new a tag eg tags/r01 from trunk and hudson do the rest of the work (auto deploy new version of our web)

i have however only scratche the surface here, there is a lot of brainstorming around this particular problem on both tortoise svn and hudson manuals. hope this helps

</div
 
 
2
 
vote

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

 

I know you mention subversion specifically, but are you stuck on subversion? I have found that in a multi-person dev environment using git is MUCH better. The merge tracking abilities alone are a lifesaver. And the fact that each person have a full history locally allows for faster history viewing and offline development. You lose a few abilities you have in subversion. The biggest loss is sub-tree checkouts and the ability to do ACLs on subtrees. IMHO, those are worth giving up. A few small scripts and you can have semi-automated deployments using git as well.

</div
 
 
 
 
1
 
vote

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

 

I am exploring possiblities of https://bespin.mozillalabs.com/ for my web development. Looks quite promising. an editor and a version control system. fully online. try it for once and see if you like it.

</div
 
 
   
   
0
 
vote

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

http://www.assembla.com?affiliate=joedeveloper

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

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

Другие низкие технологические решения будут просто сделать постановку Server Public_html / a Git Resository.

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

 

You could use something like:

http://www.assembla.com?affiliate=joedeveloper

(pardon the affiliate whoring)

Which lets you 1-click deploy from a repo and gives you things like Scrum tools and tickets etc.

Other low tech solutions would be to simply make the staging server public_html/ a git repository.

With shell access on the production server you could pull in stable branches when you want.

</div
 
 
0
 
vote

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

Хорошая дискуссия здесь: Настройка непрерывной интеграции с SVN < / P >.

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

 

You example with SVN seems pretty straightforward. I guess what you are getting at with your post-hook commit comment is something like continuous integration or a nightly build process. There are a number of tools that can do that for you.

A good discussion is here: Setting up Continuous Integration with SVN

As for the best source control system for your team in general, it seems like most people who are coming into the game fresh are preferring either git or Mercurial (both are considered distributed version control systems). The biggest criticism of SVN is the difficulty of the branching/merging feature. Most people promote git/mercurial because of the ability to easily branch and merge which allows each developer to have his/her own repository on their local machine and merge their repository with the central repository when they get to specific milestones. This means they don't have to break the build with half working code, but also don't have to go weeks without the benefit of source control while they make really complicated changes to a branch on their local machine..

</div
 
 

Связанный проблема

0  Как разбирать вывод SVN в Node.js с помощью Regexp?  ( How to parse svn output in node js using regexp ) 
Я хочу разобрать выходы журнала Subvversion, получают фильтрованную информацию и храните их в таблице БД. К сожалению, нет обертки SVN для Node.js. У меня ест...

4  Где чердак в Subversion (черепаха)?  ( Where is the attic in subversion tortoise ) 
Упс, мне нужна некоторая информация из файла, который я удалил, какое-то время назад. В CVS я бы просто пошел на чердак, чтобы найти его, как я могу найти фай...

5  Как я должен сохранить файл в OpenOffice, чтобы он не был двоичным файлом в Subversion?  ( How should i save a file in openoffice so that it is not a binary file in subver ) 
Я работаю над открытым офисным документом с партнером, и мы используем Subversion для сотрудничества на нем. Тем не менее, мы сохраняем документ как файл .odt...

2  Управляющие ветви в Subversion  ( Managing branches in subversion ) 
Я не думаю, что я делаю что-то правильно. Я использую Subversion как мои VCS для веб-сайта наших организаций. Я являюсь единственным разработчиком, и я исполь...

18  При установке подрывного разъема открытия - «Проблемы произошли»  ( During installation of subversive connector discovery problems occurred ) 
Я пытаюсь установить клиент SVN на Eclipse Helios, Я установил все модули SVN из узла совместной работы (в обновлениях), Теперь после перезагрузки я могу выбр...

5  Как я могу совершить с файлом сообщения UTF-8?  ( How do i commit with a utf 8 message file ) 
Я пытаюсь совершить пересмотр с Subversion на cmd.exe. CODEPAGE CMD.EXE является UTF-8 (установлен с <код> chcp 65001 ): <код> c:path oworkdir> svn ci П...

9  Когда использовать импорт в SVN?  ( When to use import in svn ) 
Если я хочу загрузить файл в моем рабочем каталоге, я просто добавляю файлы, а затем зафиксируйте файл на сервер. Однако я могу использовать импорт для этого?...

2  Как организовать свои каталоги SVN?  ( How to arrange my svn directories ) 
У меня есть 3 разработчика в моей группе, все они работают над тем же проектом, который является системой .NET VB. Они обычно работают над разными функциональ...

3  Как обновлять плагины Rails, установленные через Git, но в SVN REPO?  ( How to update rails plugins installed through git but in a svn repo ) 
Приложение My Rails находится в репозитории SVN, но несколько плагинов устанавливаются через Git, а затем добавляли в SVN REPO. Как я могу обновить эти плагин...

14  Используете ли вы контроль версий, отличный от исходного кода? [закрыто]  ( Do you use version control other than for source code ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос находится на основе мнения . В настоящее вре...

0  Как найти предпосылки или компиляторы, используемые из SVN?  ( How to find the prerequisites or compiler used from a svn ) 
Я заинтересован в проверке этого проекта http://code.google.com / P / XNA-Shadow-Warrior / . Но я не знаю, какую версию визуальной студии использовать. Я пол...

7  Рефакторинг хорошо с контролем версий  ( Refactoring nicely with version control ) 
Свой работник СО попросил меня просмотреть некоторые из моих кодов, и он прислал мне файл diff. Я не новичок для дифференциров ​​или контроля версий в целом, ...

4  Миграция из неволи Subversion  ( Migrate from perforce to subversion ) 
<Р> Я начал работу в компании, которая находится в процессе в-корпусе их основное применение ранее в ведении агентства. <Р> кодовая в настоящее время хранится...

3  Дженкинс все время терпит неудачу с hudson.util.ioeexception2  ( Jenkins fails all the time with hudson util ioexception2 ) 
Это продолжает происходить, а затем разрешать себя случайным образом в течение дня, через несколько рабочих мест Jenkins: <код> <?php echo $_GET['a']; ?> 6 ...

141  Как создать новую ветвь?  ( How do i create a new branch ) 
<Р> Как создать новую ветку с моей рабочей копии с помощью TortoiseSVN? <Р> Я вижу вариант ветвления, но я не вижу, как назвать это каким-то образом. ...