Как отучить себя от FTP в пользу контроля версий

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

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
16
0
1 819
10

Ответы 10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Точно. Я думаю, что OP думает об использовании SVN для развертывания, что может быть сделано, но требует некоторой предусмотрительности. На самом деле, сценарий оболочки экспорта svn - это то, что нужно, чтобы получить последнюю версию и экспортировать чистую копию на веб-сервер.

willasaywhat 03.12.2008 21:42

также можно использовать ловушку пост-фиксации

thismat 03.12.2008 22:05

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

Это более новая и отличная идея, подумайте о чем-то вроде Magento, который имеет 6744 файла в базовой установке, не говоря уже о том, когда вы начинаете добавлять свои собственные скины, которые обычно работают примерно до 500 файлов. Использование контроля версий для РАЗВЕРТЫВАНИЯ чего-то подобного значительно экономит время при загрузке этого большого количества крошечных файлов через FTP, поскольку отправляются только измененные.

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

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

На моем локальном компьютере установлены Subversion и TortoiseSVN.

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

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

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

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

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

  6. Тогда экспортируемое приложение будет загружено через FTP.

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

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

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

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

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

Другие вопросы по теме