Я слышал, что загрузка вашего веб-сайта с помощью FTP сейчас для новичков, но это единственный способ, которым я знал, как в течение 8 или около того лет я создавал веб-сайты. По-видимому, сейчас весь шум использует систему контроля версий, такую как SVN или Git, и каким-то образом использует SSH для загрузки только измененных файлов (если я правильно понимаю). Мне интересно, может ли кто-нибудь объяснить или указать мне на «исчерпывающее» руководство. Что мне нужно установить, и будет ли совместим мой общий хост (Dreamhost)? В настоящее время я работаю в среде WAMP. Я никогда не использовал контроль версий и не знаю, с чего начать. Обычно я разрабатываю с помощью таких фреймворков, как CakePHP или Zend.
Вот вики, которая должна предоставить вам всю необходимую информацию о добавлении 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 есть инструкции.
Статьи Эрика Синка об управлении версиями - отличное место для изучения основных концепций.
Вы немного перепутали. Система контроля версий используется внутри для отслеживания вашего кода во время разработки. С централизованными системами, такими как SVN, вы регулярно загружаете свой код на сервер SVN, который отслеживает, что изменилось, обеспечивает правильное объединение конфликтующих изменений и ведет журнал, чтобы вы могли откатить изменения.
Децентрализованные или распределенные системы управления версиями устраняют один центральный сервер, вместо этого позволяя каждой копии кода отслеживать свою собственную историю изменений, а затем позволяя вам объединять и комбинировать эти отдельные ветви по желанию.
Но как только у вас есть готовый продукт, вы отправляете его на рабочий сервер любым удобным вам способом. FTP, безусловно, является одним из вариантов для этого.
также можно использовать ловушку пост-фиксации
Все полностью упускают из виду суть. Разработка с использованием системы контроля версий - прекрасная вещь, которая имеет огромные преимущества даже для разработчиков, работающих самостоятельно. Речь идет о развертывании с использованием систем контроля версий.
Это более новая и отличная идея, подумайте о чем-то вроде Magento, который имеет 6744 файла в базовой установке, не говоря уже о том, когда вы начинаете добавлять свои собственные скины, которые обычно работают примерно до 500 файлов. Использование контроля версий для РАЗВЕРТЫВАНИЯ чего-то подобного значительно экономит время при загрузке этого большого количества крошечных файлов через FTP, поскольку отправляются только измененные.
Кроме того, я никогда не пробовал развертывать подобным образом, поэтому я не могу предложить никакого реального опыта, однако есть несколько хороших статей о том, как получить эту настройку, хорошую можно увидеть здесь.
Я также работаю с Zend Framework, и вот как я использую FTP и контроль версий.
На моем локальном компьютере установлены Subversion и TortoiseSVN.
Если я начинаю новый проект, я использую настроить репозиторий SVN так, как мне нравится (я использую систему ствола / веток / тегов).
Я оформить начальную рабочую копию из магистрали в папку проекта в моем локальном веб-корневом каталоге.
Я создать новый проект в Aptana и устанавливаю путь проекта к моей папке проекта на локальном хосте.
Аптана понимает, что этот проект версируется и показывает соответствующие значки в каждом файле. Я могу выполнять многие функции управления версиями прямо в моем дереве файлов в Aptana, без какой-либо оболочки или даже Tortoise.
Когда у меня есть стабильная развертываемая версия моего приложения, я создать тег контроля версий. Затем я экспортирую это (деверсия).
Тогда экспортируемое приложение будет загружено через FTP.
Во всяком случае, я так делаю сейчас, может, это кое-что проясняет. Советы по улучшению процедуры приветствуются!
Для bzr есть замечательный плагин под названием bzr-upload, разработанный именно для вашего типа использования. bzr очень легкий (нет необходимости создавать репозиторий) и очень прост в использовании, даже если вы раньше не использовали какой-либо источник управления. Это плагин для bzr, и каждый раз, когда вы делаете коммит на своем локальном компьютере, он отправляет измененные файлы по ftp на ваш веб-хост. Он не выводит всю информацию для контроля версий, только сами файлы.
Как уже говорили другие, вы можете настроить контроль версий локально ... или на своем хосте. Я рекомендую вам делать то, что лучше всего подходит для вас.
Вы упомянули использование Dreamhost. Я поддерживаю там один небольшой сайт и знаю, что они разрешают загрузку через scp и sftp. Это позволит вам загружать файлы с зашифрованным паролем. (И вы не имеют, чтобы принять метод контроля версий, если вы этого не хотите! ;-) Прокрутите страницу sftp, на которую я ссылаюсь, и вы найдете несколько предложений для клиентов scp и sftp.
FWIW, если вы используете Windows, я много лет использовал WinSCP, и он мне понравился. Кроме того, если вам нужен полный доступ для входа в систему, я предлагаю PuTTY; его полная загрузка также включает клиентов командной строки для sftp и scp.
Точно. Я думаю, что OP думает об использовании SVN для развертывания, что может быть сделано, но требует некоторой предусмотрительности. На самом деле, сценарий оболочки экспорта svn - это то, что нужно, чтобы получить последнюю версию и экспортировать чистую копию на веб-сервер.