Развертывание с помощью CakePhp - PullRequest
1 голос
/ 03 апреля 2010

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

Каков наилучший способ отделить производственную версию от развернутой версии, а затем объединить их при необходимости?

В настоящее время я использую Git для контроля версий.

Спасибо!

Ответы [ 2 ]

4 голосов
/ 03 апреля 2010

Прежде всего, познакомьтесь с системой контроля версий Subversion, Git, Bazaar, Mercurial и тому подобное. Они являются сетью безопасности, которая может спасти ваш бекон, потому что они сохраняют КАЖДЫЕ изменения в КАЖДОМ файле в вашем наборе файлов.

Тогда, как правило, у меня есть локальный сервер разработки, а также поддомен (staging.example.com) на рабочем сервере. Затем я делаю тяжелую разработку на локальном сервере разработки. Затем я использую SVN для архивирования всех изменений своего сайта. Затем, используя учетную запись оболочки на производственном сервере, я проверяю новую версию программного обеспечения в промежуточном поддомене. Если там все работает нормально, я могу обновить действующий сайт, используя всего одну проверку SVN.

Я также слышал о людях, которые размещают символическую ссылку в месте, где должен быть корень сайта (/ var / www / public_html), который указывает на действующий каталог (/ var / www / site_ver_01234), а затем настраивают новая версия в параллельном каталоге (/ var / www / site_ver_23456). Наконец, просто пересоздайте символическую ссылку, указывающую на каталог новой версии. Переключатель мгновенный и прозрачный. Извините, но я не совсем ясно об этом методе, я читал об этом некоторое время назад, но сам никогда не пробовал.

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

2 голосов
/ 03 апреля 2010

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

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

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

Каждый из этих шагов может быть выполнен разными способами, и вам придется выяснить, какой подход лучше для вас. Если вы этого еще не сделали, начните использовать систему контроля версий, такую ​​как SVN или git . Сделай это сейчас ! Тогда вы можете захотеть зайти в Google или поискать в SO различные методы , чтобы пометить и разветвить с помощью этой системы. Для серьезного развертывания начните с ключевого слова, например Capistrano или одного из его клонов PHP.

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