2008-12-01 2 views
15

Я просто учась делать что-то и хочу начать использовать какой-то контроль версий для веб-приложения.Лучший контроль версий для веб-приложения одного человека?

Что наиболее подходит для развертывания веб-приложения python или php самостоятельно? Я использую linux и имею сервер linux.

Спасибо!

+8

Поздравляем вас с пониманием того, что контроль версий предназначен не только для обмена кодами между несколькими разработчиками - это не так много людей. – belugabob 2008-12-01 15:53:15

ответ

18

СВН, но вы должны быть в состоянии легко развернуть веб-приложение с SVN.

Поскольку это не всегда простая задача, поэтому я просто указываю this article которые могут представлять интерес для вашего проекта.

Общий принцип:

  • Настройка Apache на сервере разработки, так что он улавливает ваши разрегистрированы рабочие копии в виде отдельных поддоменов. Используя это, вы можете просто сделать проверку своего проекта, и он будет автоматически запускаться и запускаться. Не нужно прикасаться к конфигурации Apache. Вам нужен DNS wildcard entry, чтобы все поддомены dev.example.org переходили на ваш сервер разработки.

Единственная проблема с локальным использованием вышеуказанной конфигурации Apache - это подстановочный шаблон DNS. Если вашему рабочему столу назначено имя хоста на DNS-сервере вашей сети, и вы можете установить подстановочный знак там, вам придется обойтись с вашим адресом localhost. Вы можете установить dnsmasq выступать в качестве локального сервера кэширования DNS и положить подстановочные на собственной машине

  • Используйте Dnsmasq так что вы можете достичь того же эффекта на вашей машине развития. Таким образом, вы можете создавать свои веб-приложения локально, и вам не понадобится центральный сервер разработки. В моих примерах я предполагаю, что вы используете subversion для вашего контроля версий, но он работает практически так же, как и с другими пакетами управления версиями, такими как git или bazaar.

Примечание: (Юмор)
This other question on Subversion позволило мне указать на эту статью о publishing its (source-controlled) data into production, с в ней, пожалуй, самая уродливая схема я когда-либо видел на эту тему ;-)

diagram

0

SVN был бы моим первым выбором. Если я должен сделать второй выбор, я бы пошел на CVS.

+1

Не могу поверить, что кто-нибудь по-прежнему будет рекомендовать CVS. – Kibbee 2008-12-01 13:48:41

+0

Это ВТОРОЙ выбор, каков ваш второй выбор? Научитесь читать – 2008-12-01 13:52:28

+0

Я не могу говорить за Kibbee, и я не такой как CVS, как он, но есть довольно много систем, которые я бы поставил как второй вариант перед CVS. Это действительно старая технология. – 2009-12-16 22:20:32

0

Одной из самых популярных моделей сегодня является Subversion. Как правило, легко настроить & configure и способен обрабатывать несколько платформ.

14

Если бы я не столкнулся с git, я бы, несомненно, пошел с SVN. Сказав это, я бы порекомендовал git.

+0

Он одинок и хочет изучить исходный контроль, git, похоже, не лучший выбор для этого ... – 2008-12-01 13:41:37

+4

Децентрализованный контроль версий отлично подходит для индивидуальной команды, особенно, поскольку это устраняет отдельный сервер , Я не использую git, поэтому не могу сказать, насколько полезен это в частности. Но Bazaar будет работать хорошо, и смешно легко настроить – jalf 2008-12-01 14:18:09

+0

@jalf: Git действительно работает так же, как вы говорите. – 2009-12-16 22:17:39

0

SVN. Если вам не нужен одновременный доступ (это ваш случай), он ОЧЕНЬ прост в настройке, поскольку сервер не требуется вообще. Определенно ваше оружие выбора.

2

Ответ действительно зависит от вашего мышления. У меня лично возникли проблемы с переключением на subversion из SourceSafe. Если вы пришли из магазина Microsoft, я бы предложил использовать SourceGear Vault, он бесплатный для < = 2 пользователей. Если вы пришли из области не microsoft, то использование subversion будет предпочтительным. Также рассмотрите git, если работаете на Linux. HTH, Клапан.

5

В настоящее время обман вокруг DVCS.

Я предпочитаю Bazaar.

Из-за его имени, поддержки, набора функций, и он хорошо работает на моем компьютере $ $.

0

Я полностью согласен с SVN. Командная строка SVN тоже довольно проста.

0

В то время как мне очень нравится svn, я нашел mercurial удобным для локального размещения всего репозитория. (То же самое касается мерзавца, но его интерфейс немного менее полируются на мой взгляд.)

-1

Subversion - хороший выбор. Для клиента есть TortoiseSVN (http://tortoisesvn.tigris.org/), который интегрируется с оболочкой и позволяет вам делать что-то с помощью щелчка правой кнопкой мыши по папке. Для интеграции с Visual Studio (я предполагаю, что это ваша среда) есть VisualSVN (http://www.visualsvn.com/) и AnhkSVN (http://ankhsvn.open.collab.net/). Для сервера есть установщик с одним щелчком мыши, который вы можете найти здесь (http://svn1clicksetup.tigris.org/), который быстро устанавливает настройки. VisualSVN также имеет (бесплатный) сервер, который вы можете использовать, который обеспечивает собственный веб-доступ и безопасность (вместо использования apache) и имеет mmc-snapin для управления/создания репозиториев и пользователей.

8

В настоящее время я бы, конечно, пошел с распределенной системой контроля версий. Настройка выполняется быстрее, так как вам не нужно настраивать сервер управления версиями и все, что вам обычно нужно сделать, это инициализировать определенный каталог в вашем окне разработки для управления версиями, и вам хорошо идти. Они также кажутся, как идти в эти дни. Если бы это было в 2001 году, я бы рекомендовал централизованную систему, такую ​​как Subversion. Но в 2008 году все перемещаются в распределенные системы и пользовательские интерфейсы, а поддерживающие инструменты имеют тенденцию к улучшению.

Вот несколько советов для вас:

  • Darcs: Легкий в освоении и имеет все функции, как правило, необходимо
  • Mercurial
  • Git: Мощный. Может потребоваться некоторое время для понимания, но быстро развивается.

Все три из них должны быть легко доступны в вашей ОС на базе Linux с помощью обычных решений по управлению пакетами.

2

Лично я использую monotone, изучение DVCS, безусловно, путь вперед.

1

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

Учитывая, что я бы выбрал любую бесплатную систему, поддерживающую вашу среду разработки. Я вижу Subversion и Git, и оба - прекрасный выбор.

3

Я использую unuddle.com, и мне это нравится. Это бесплатно для веб-приложения одного человека

0

Я когда-то использовал Perforce и был впечатлен этим. Существуют версии графического интерфейса и командной строки, и он поддерживает Windows, Linux, Mac и Unix для сервера и клиента. Он интегрируется с Eclipse и имеет API для написания собственных клиентских приложений (C/C++, Ruby, Perl, Python). Он поддерживает только двух пользователей и пять рабочих областей, прежде чем вам нужно покупать лицензии (хотя это входит в сферу применения этого вопроса) ,

0

Я не могу ответить на заданный вопрос, потому что я не разрабатываю на сервере Linux.

Но, возможно, этот опыт имеет аналог в мире Linux.

Я использую локальный сервер IIS (на самом деле на старом ноутбуке, который больше не путешествует, но работает как маленький сервер). У меня также установлен VSS на этом сервере. Существует интеграция между сервером IIS, расширениями FrontPage на этом сервере и VSS.

Результат заключается в том, что я могу использовать FrontPage для создания и редактирования моего сайта и создания образа разработки, который всегда поддерживается в VSS, и я могу проверить, проверить и выполнить все это из FrontPage.

Теперь, как я публикую, я пользуюсь возможностью совместного использования VSS, поэтому у меня есть образ развертывания, который разделяет проект, который на самом деле является веб-сайтом IIS. У меня есть каталог развертывания-образа, в который я могу перенести последний зарегистрированный материал (материал, который не изменился, не обновляется). Затем я развертываю образ развертывания на общедоступный веб-сайт с использованием FTP (опять же, только для передачи новых и обновленных файлов).

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

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

Означает ли это что-либо, что может быть привлекательным в деле сервера Linux?

0

Определенно Mercurial - это хороший выбор, быстрый, простой в использовании, идеально подходит для работы в одиночку или с несколькими другими разработчиками, отлично размножается, обрабатывает слияния, ветки и т. Д. Очень просто, с плагинами, есть отличные инструменты там таких как красивые плагины IDE (в частности, Netbeans и Eclipse).

Robust, он работает так же, как Вы ожидаете такой инструмент для работы, а не как SVN (и я лет день в день) ...

Оба ВС, Xen и Mozilla разместить все свои операции РЕПО на Mercurial. В настоящее время мы переходим от SVN к Mercurial после 6-месячного ежедневного теста без каких-либо сожалений.

-1

CVS - Нет, я не шучу. Не то, чтобы это лучше (это не так) или простое (это не так), но на самом деле это не имеет значения в конце дня.Важно начать работу с ЛЮБОЙ системой управления версиями, даже если это магазин с одним разработчиком, даже если это CVS.

Смежные вопросы