Как отучить себя от FTP в пользу контроля версий - PullRequest
16 голосов
/ 03 декабря 2008

Я слышал, что загрузка вашего веб-сайта по FTP теперь стоит n00bs, но это единственный способ, которым я знал, как примерно 8 лет я создавал веб-сайты. По всей видимости, теперь все в моде - использовать систему контроля версий, такую ​​как SVN или Git, и каким-то образом использовать SSH для загрузки только тех файлов, которые изменились (если я правильно понимаю). Мне интересно, может кто-нибудь объяснить или указать мне «всеобъемлющее» руководство. Что мне нужно установить, и будет ли мой общий хост (Dreamhost) совместимым? В настоящее время я работаю в среде WAMP. Я никогда не использовал контроль версий и не знал бы, с чего начать. Я обычно разрабатываю с фреймворком, таким как CakePHP или Zend.

Ответы [ 10 ]

12 голосов
/ 03 декабря 2008

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

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

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

6 голосов
/ 03 декабря 2008

Для загрузки файла вам нужно получить rsync . Для этого есть оболочка Windows DeltaCopy , а в вики DreamHost есть инструкции .

2 голосов
/ 08 декабря 2008

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

Это новая и отличная идея, рассмотрим что-то вроде Magento , в базовой установке которого имеется 6 744 файла, не говоря уже о том, что вы начинаете добавлять свои собственные скины, которые обычно запускаются примерно до 500 файлов. Использование управления версиями для DEPLOY как-то так экономит основное время загрузки этого большого количества крошечных файлов по FTP, так как отправляются только измененные файлы.

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

2 голосов
/ 03 декабря 2008

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

Dreamhost на самом деле позволяет вам создавать SVN-репозитории с их веб-панелью, очень заинтересованными там, и я не могу вспомнить, но я подумал, что у них есть некоторые действительно полезные функции, чтобы помочь.

Я бы предложил в лучшем случае прочитать или просмотреть: http://www.svnbook.org очень полезно, если вы планируете использовать SVN поверх Git.

1 голос
/ 15 июля 2009

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

Вы упоминаете об использовании Dreamhost. Я поддерживаю один небольшой сайт и знаю, что они позволяют загружать через scp и sftp . Это позволит вам загружать файлы с зашифрованным паролем. (И у вас нет , чтобы принять метод управления версиями, если вы не хотите! ,

FWIW, если вы используете Windows, я использовал WinSCP в течение многих лет и мне понравилось. Также, если вам нужен полный доступ к логину, я советую PuTTY ; его полная загрузка также включает в себя клиенты на основе командной строки для sftp и scp.

1 голос
/ 08 декабря 2008

Я также разрабатываю с Zend Framework, и вот как я использую FTP и контроль версий.

На моей локальной машине установлены Subversion и TortoiseSVN.

  1. Если я начинаю новый проект, я настраиваю SVN-репозиторий так, как мне нравится (я использую систему trunk / branch / tags).

  2. Я извлекаю начальную рабочую копию из ствола в папку проекта в моем локальном webroot.

  3. Я создаю новый проект в Aptana и задаю путь к папке моего проекта на локальном хосте.

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

  5. Получив стабильную развертываемую версию моего приложения, я создаю тег управления версиями . Затем я делаю экспорт этого (перевод его).

  6. Экспортированное приложение затем загружается по FTP .

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

1 голос
/ 03 декабря 2008

Статьи Эрика Синка об управлении исходным кодом - отличное место для изучения основных понятий.

http://www.ericsink.com/scm/source_control.html

1 голос
/ 03 декабря 2008

Вот вики, которая должна предоставить вам всю необходимую информацию о добавлении Subversion в Dreamhost.

http://wiki.dreamhost.com/index.php/Subversion

Я уже использовал Subversion для своих сайтов, и это делает его намного проще. Я использую Aptana на своем компьютере с Windows и загружаю все через эту программу. Это позволяет мне сравнивать старые версии, возвращаться к ним, открывать новые версии и т. Д. *

Это огромная экономия времени!

0 голосов
/ 15 июля 2009

Существует замечательный плагин для bzr под названием bzr-upload , разработанный специально для вашего случая использования. bzr очень легок (не нужно настраивать репозиторий) и его очень легко начать использовать, даже если вы ранее не использовали какой-либо контроль исходного кода. Это плагин для bzr, и каждый раз, когда вы делаете коммит на своем локальном компьютере, он передает / ftp измененные файлы на ваш веб-хостинг. Он не отображает всю информацию об управлении версиями, а только сами файлы.

0 голосов
/ 03 декабря 2008

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

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

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

...