Вопрос

У нас есть PHP-проект, который мы хотели бы контролировать версиями.Прямо сейчас мы втроем работаем над версией проекта для разработки, которая находится во внешней папке, к которой привязаны все наши Eclipse IDE, и, следовательно, нет контроля версий.

Каков правильный и наилучший способ управления версиями для этого?

У нас настроен SVN, но нам просто нужно найти хороший способ входа и выхода, который позволит нам тестировать на сервере разработки.Есть какие-нибудь идеи?

Это было полезно?

Решение

Мы были в похожей ситуации, и вот что мы в итоге сделали:

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

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

Нам пришлось использовать один сервер разработки, потому что мы использовали проприетарную CMS и столкнулись с проблемами лицензирования.Итак, наш хук после фиксации был простым FTP-ботом.

Другие советы

Вот что мы делаем:

  • У каждого разработчика есть виртуальная машина, настроенная подобно нашему серверу интеграции
  • На сервере интеграции есть место для магистрали, каждого пользователя и несколько слотов для филиалов
  • Производственный сервер
  • Перехваты отправляются в Subversion по электронной почте при выполнении коммитов

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

Как только они завершают все в своем личном пространстве, они заходят на сервер интеграции и проверяют свою ветку, запускают тесты и т.д.Когда все, что проходит мимо, их ветвь объединяется в Ствол.

Магистраль перестраивается, запускается полный набор тестов, и, если все в порядке, она получает большой старый штамп одобрения, помеченный в SVN, и в конце ночи запускается в производство.

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

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

Один из способов использовать subversion для разработки PHP - это слишком настроить репозиторий для одного или всех трех разработчиков и использовать этот репозиторий скорее как инструмент синхронизации, чем как настоящий контроль версий.

Ты мог бы,

  • Сделайте репо

  • Добавьте всю структуру вашего PHP-документа в ваш проект

  • Разместите копию этого репозитория в нужном месте на вашем сервере разработки

  • Используйте svn-хук, который активируется при фиксации

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

Крючок находится в:

svn_dir/repo_name/перехваты/последующая фиксация

И мог бы выглядеть как:

/usr/bin/svn up /путь к/webroot --имя пользователя svn_user --пароль svn_pass

Это обновит вашу рабочую копию на сервере разработки до последней версии регистрации.

А как насчет чего-то распространяемого?Вы можете начать, например, с Mercurial, попробовать различные рабочие процессы и посмотреть, какой из них подходит вам лучше всего.

Каждый из вас мог бы запустить его локально или на своем собственном сервере разработки (или даже на том же самом, с другим портом ...).

Один из возможных способов (вероятно, есть способы получше):

У каждого из вас должна быть своя собственная проверенная версия проекта.

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

Еще одним инструментом, который вы можете использовать для сборки, является Командный город который является бесплатным для 20 конфигураций сборки (достаточно для большинства небольших компаний / проектов.) Таким образом, вы можете запускать свои тесты, а также планировать сборки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top