Подтвердить что ты не робот

Как вы управляете жизненным циклом разработки проектов PHP?

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

4b9b3361

Ответ 1

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

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

Серверы постановки и производства размещаются как провайдером, так и аппаратными средствами и версиями, и запускают RHEL, внутренний сервер Dev соответствует версии CentOS.

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

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

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

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

Ответ 5

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

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

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

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

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

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