Проверка файлов / Контроль версий на сайте PHP - PullRequest
1 голос
/ 26 июня 2009

Я понимаю, что этот вопрос задавался 100 раз, но ни один из найденных мною вопросов не отвечает на мои вопросы.

У нас есть несколько разработчиков в разных местах, работающих над одним проектом. Некоторые используют Windows, некоторые используют Mac, наш сервер - Linux, и каждый разработчик использует свое приложение для разработки (Dreamweaver, Eclipse и т. Д.). Каждый разработчик использует на своем компьютере какую-либо форму Apache / PHP / MYSQL с версиями, идентичными нашему живому серверу.

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

То, что мы ищем, это

  • какой-то способ позволить разработчикам «проверить» файлы с сайта тестирования, а затем «проверить» после того, как они закончили с ними работать.

  • Мы хотим, чтобы можно было регистрировать дату / время выезда и регистрации.

  • Мы также хотели бы иметь возможность копировать выбранные папки / файлы на действующий сайт после завершения тестирования.

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

Возможно, есть версия SVN с графическим интерфейсом?

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

Любая информация будет оценена.

Ответы [ 6 ]

1 голос
/ 26 июня 2009

Другие параметры SVN GUI для Mac включают Версии или Cornerstone , которые оба работают хорошо. Если кто-то использует Coda для разработки, он также имеет встроенную поддержку SVN.

На другие аспекты вопроса уже дан ответ.

1 голос
/ 26 июня 2009

Существует два простых способа развертывания на вашем «живом» сайте:

1) Используйте SVN-клиент на вашем «живом» сайте, чтобы проверить ваше программное обеспечение. Если есть изменения для развертывания, выполните команду SVN UPDATE. (убедитесь, что ваш веб-сервер не обслуживает файлы в папках .svn!)

2) На вашем «живом» сайте есть две корневые папки. Когда пришло время для развертывания, SVN EXPORT во второй папке. В конфигурации вашего веб-сервера измените корневой каталог вашего документа на вторую папку и перезапустите веб-сервер. Если при развертывании возникла непредвиденная проблема, просто вернитесь к первой папке.

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

И найдите себе наркомана-сценариста, который может автоматизировать все развертывание за вас, или использовать что-то вроде springloops.com. Отказ от процессов ручного развертывания, вероятно, сделает вас счастливее в долгосрочной перспективе (сейчас 3 часа утра, вы думаете, что исправили последнюю проблему развертывания, поэтому вы ложитесь спать. Когда вы просыпаетесь в 12:30 и понимаете, что ваш сайт имеет был вниз все утро ... это происходит).

Для графического интерфейса используйте scplugin для Mac OS X, TortoiseSVN для Windows. В Eclipse используйте один из плагинов eclipse svn.

0 голосов
/ 26 июня 2009

У нас есть следующие настройки ...

Несколько пользователей в нескольких офисах, каждый из которых работает под управлением Windows (с Tortoise SVN ) и WAMP или OSX (с Syncro Subversion Client ). Для обеих систем есть другие клиенты, но мы выбрали их.

Каждый имеет VPN-доступ к нашему центральному серверу разработки.

Работая в своих локальных системах, они регулярно проверяют обновления на сервере SVN (разработка) и получают обновления. На сервере разработки у нас есть сценарий, который запускается каждые x минут и выполняет извлечение в корневой веб-каталог (только при наличии новых обновлений). Этот сценарий также обновляет один файл с текущим номером версии SVN, который мы затем показываем на сайте разработки, чтобы все знали, что работает и когда оно было обновлено совсем недавно.

Он работал для нас в течение нескольких лет и оказался наиболее полезным.

0 голосов
/ 26 июня 2009

Как указал Акросман, существует множество инструментов с открытым исходным кодом (например, Tortoise, Subclipse (Eclipse), Subversive (Eclipse)). Я думаю, что Subversion никогда не бывает плохим выбором, и экспорт текущей версии Head на сервер разработки может быть легко выполнен с помощью скрипта-хука, запускаемого после каждой фиксации. Ведение журнала работает так же. Самым раздражающим для меня было сохранение согласованности тестовых баз данных и файлов конфигурации в репозитории.

0 голосов
/ 26 июня 2009

Вы понимаете, что этот вопрос задавали много. Просто попробуйте любую из основных систем контроля версий. Subversion, Git, Mercurial, TFS, что угодно. Они все будут работать на то, что вы пытаетесь сделать.

Ваша ситуация, когда «центральный репозиторий» находится на «тестовом сервере», не обязательно будет сохраняться; у вас просто будет еще одна проверка с центрального сервера.

0 голосов
/ 26 июня 2009

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

Eclipse имеет плагины для SVN, есть клиенты Mac и ПК, которые прекрасно работают. Я спросил о настройке с графическими дизайнерами несколько месяцев назад и получил несколько полезных ответов.

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