Как вы управляете жизненным циклом разработки проектов PHP? - PullRequest
12 голосов
/ 01 ноября 2008

Я работал над несколькими проектами PHP, и всегда у меня возникают проблемы с организацией моей работы. Где вы разрабатываете свое приложение - на локальном хосте, удаленном сервере или, может быть, на производственном (!)? Когда я работаю на своем локальном хосте после создания какого-то основного пути, я отправляю новые файлы по ftp - но иногда случается, что он забывает об одном файле, и это просто утомительно, чтобы просмотреть несколько директорий для копирования измененных файлов. Какие лучшие практики вы предлагаете?

Ответы [ 5 ]

10 голосов
/ 01 ноября 2008

Вот как мы управляем нашим коммерческим сайтом:

  1. Разработка в местной песочнице
  2. Регистрация в SVN
  3. Автоматическая сборка / тестирование из SVN на внутренний сервер разработки
  4. Развертывание по сценарию с использованием rsync для подготовки сервер для QA / UAT
  5. Сценарий развертывания на производстве серверы.

Промежуточный и производственный серверы размещаются у интернет-провайдера и соответствуют аппаратному обеспечению и версии, а также выполняют RHEL, внутренний сервер Dev соответствует версии CentOS.

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

1 голос
/ 01 ноября 2008

Google App Engine имеет подходящий инструмент, который автоматически загружает в производственную среду измененные файлы; не знаю, есть ли что-то подобное для PHP. Таким образом, выполнение сценария dev2prod (сценария, который делает это автоматически) должно быть хорошим решением.

Для локального управления исходными файлами каждый может предложить вам использовать систему контроля исходного кода .

0 голосов
/ 09 марта 2014

Вероятно, получат извещение о перенаправлении старого сообщения, но вот как я делаю это, используя бесплатные инструменты:

Я использую Netbeans, Git, bitbucket, дерево исходников, gitflow и FTPloy.

Bitbucket.com: зарегистрируйтесь бесплатно. SourceTree: свободный от bitbucket. Отличный инструмент для управления Git-репозиториями. Все коммиты, слияния и вытягивания могут быть сделаны здесь. Проблемы в bitbucket можно отслеживать.

В sourcetree возьмите ветку master и нажмите «git flow» - gitflow google - это фантастический поток функций, исправлений, веток разработки и выпуска, а sourcetree помогает автоматизировать процесс.

FTPloy.com автоматизирует развертывание вашей основной ветки. Бесплатно один репо / сервер. Но стоит обновить, если вы хотите перенести ветку разработки в тестовую среду сервера.

Надеюсь, это поможет кому-то, кто ищет в Интернете!

0 голосов
/ 02 ноября 2008

Разработка на вашем локальном компьютере с такой же точной конфигурацией, что и ваша среда разработки (то есть apache-моды, расширения php и т. Д.), С использованием системы контроля версий (я предпочитаю SVN), чтобы отслеживать измененные файлы, а что нет.

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

0 голосов
/ 01 ноября 2008

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

Winmerge - это приятный и бесплатный инструмент для Windows, позволяющий просматривать файлы между машиной для разработки и производством.

...