![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Есть команда разработчиков и общий проект. Задача организовать комфортную работу над проектом. Условия:
1. Разработчик должен иметь возможность отладки своей части изменений в режиме реального времени. 2. Разработчики должны работать над проектом параллельно. Все изменения разработчиков контролируются системой контроля версий. 3. Существует центральный репозиторий в котором объеденены все наработки разработчиков. 4. (желательно) Уйти от необходимости поднимать HTTP сервера на машинах разработчиков. Сначала расскажу как мы начали решать эту задачу и с какими проблемами столкнулись. 1. Поставили отдельный сервер в офисе на котором подняли HTTP сервер и прочие необходимые сервисы (PHP, MySql и т.п.) 2. На сервере создали виртуальные хосты для каждого разработчика + мастер хост в котором предполагаеться располагать центральный репозиторий. 3. Каталоги, которые "слушают" виртуальные сервера мы расшарили для разработчиков. По факту монтирования этих каталогов на свои машины разработчики получили возможность редактировать свои репозитории с возможностью видеть все изменения. На первый взгляд, задача почти решена. Разработчики работают со своей копией проекта, имеют возможность отладки в режиме реального времени и не нуждаються в развертывание серверов на своих машинах. Но тут возникла проблема. 4. Мы установили GIT репозиторий и попытались наложить на всю нашу инфрастрктуру систему контроля версия и тут начались проблемы. Напомню, что разработчики локально работают в каталог, который реально находиться на сервере, а локально мы имеем лишь монтированный ресурс. Так вот GIT отказался держать локальную версию репозитория в монтированном каталоге. Конкретных ошибок он выводить не стал, но ненормально долго работал и начинал выводить ошибки типа "коммит фейл" и т.п. Проверили - проблема 100% вызвана тем, что целевой каталог клонирования не реальный, а монтированный. Вот. Хотелось бы послушать, как организована работа у Вас и, что можно сделать в нашей ситуации. |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Все проблемы вызваны пунктом 4. А я не понимаю, зачем этот пункт нужен.
Без этого пункта все выливается в банальное использование репозитория. |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
30-ого закончили на том, что вроде как SVN в отличие от GIT не давиться монтированными каталогами. Обидно отказываться от GIT'а из-за такой, вроде как мелочи, но похоже придется.
Можно поподробнее? Спасибо, кэп ) |
|||
|
||||
Absinthe |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
|
||||
|
|||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
||||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
BuShaRt, я не понял, что ты имеешь ввиду под "обычным файловым" и как там можно перетереть файлы, если система VCS за этим следит.
|
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Absinthe,
Так 4-ый пункт как раз и говорит о наложение VCS на инфраструктуру и создание репозитория. Я вашу фразу не как иначе понять не могу: "Если у Вас не получается водить машину, то забейте на нее, ведь вам нужно просто сесть за руль и поехать"... |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Зачем? На локальной машине это удобнее, т.к. гибче и проще. И никаких вышеописанных проблем с гитом не будет. Это сообщение отредактировал(а) Absinthe - 2.1.2012, 16:41 |
|||
|
||||
s0lman |
|
|||
![]() Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
Почему бы не использовать синхронизацию локальной копии проекта с удаленным сервером? Все современные ИДЕ поддерживают эту возможность. В итоге не будет проблем с гитом и сервер будет нагружен намного меньше. -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
|
|||
|
||||
s0lman |
|
|||
![]() Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
У каждого разраба свой вирт. хост - в чем проблема? -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
s0lman, а, мне показалось, что так файлы хранить хочешь
![]() Ну тут либо у каждого разраба свой хост, либо используют свой. Я, например, даже в локальный сервер из IDE по ssh файлы отсылаю - т.к. IDE на линуксе плохо работает, а на винде плохо работает вебсервер. |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
На сколько быстро срабатывает синхронизация? Мне необходим моментальный эфект (технически он возможен т.к. сеть локальная), но вот срабатывает ли синхронизация "из коробки" в момент сохранения файла? Absinthe, Тот-то мы друг друга понять не можем =) мы о разных 4-ых пунктах.. Централизованный сервер нужен, для целостности всех настроек проекта. По сути крупные проекты очень зависимы от настроек сервера и хранимых в базах данных и кеше данных. Синхронизировать инфраструктуру проекта достаточно хлопотное занятие, поэтому хотелось бы иметь минимальное кол-во серверов, которые необходимо настраивать. |
|||
|
||||
s0lman |
|
|||
![]() Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
Моментальный эффект достигается. В нетбинсе заливаются файлы автоматически при сохранении (вроде только так, я им не пользуюсь), в шторме более расширены настройки. Также ИДЕ может отслеживать внешние изменения файлов и заливать на удаленный хост (например, если любишь апдейтиться из консоли). Добавлено через 2 минуты и 21 секунду Лично я юзаю шторм, ребята нетбинс, аплоадим файлы по самбе - линуксоиды-нетбинсники не жаловались ![]() -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
Absinthe |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
|
||||||
|
|||||||
s0lman |
|
|||
![]() Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
Хз, с корявыми шрифтами мне еще и разу не приходилось сталкиваться (не первый год под линуксом) на вкус и цвет, как говорится ![]() -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
С NetBeans действительно есть серьезная проблема со шрифтами под Linux, не на всех дистрибутивах, но есть. Сейчас на работе Suse - с ней все в порядке, но вод под Ubuntu шрифты были ненормально крупными и как настроить их я так и не разобрался. Там проблема в том, что шрифты надо настраивать на уровне JRE, а для меня это темны лес (как показал поиск по Google, не для меня одного). Это сообщение отредактировал(а) BuShaRt - 3.1.2012, 17:09 |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
BuShaRt, под убунту средствами убунту эта задача нерешаема.
|
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Absinthe,
=) Ну раз пошел офф-топ, то позволю себе спросить как эта задача решаеться т.к. выяснить это не удалось |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
BuShaRt, задача автоматического аплоада из IDE на сервер?
Это сообщение отредактировал(а) Absinthe - 4.1.2012, 13:59 |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
2-ой день работает по описанной в сабже схеме, заменив GIT на SVN. В целом, конечно не хватает плюшек GIT'a, но по сути основные необходимые функции SVN выполняет. Вероятней всего на этом и остановимся.
|
|||
|
||||
s0lman |
|
|||
![]() Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
А разработчиков сколько всего?
На прошлой работе работал по аналогичной схеме (девелоперов было ~ 15) - сервер глючило адски. -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
BuShaRt, мне плюшки гита кажутся напрягающим неотключаемым(если отключить - теряется смысл гита) излишеством
![]() s0lman, у нас 10 на одном проекте. Что значит глючило? Все одни и те же файлы правили одновременно и потом мержились трудно? Это сообщение отредактировал(а) Absinthe - 6.1.2012, 15:21 |
|||
|
||||
s0lman |
|
|||
![]() Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
Сервер не справлялся с нагрузкой, жестко тормозил - бывало, что MC запускался несколько секунд... -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
После тестирования SVN выяснили, что он хоть и не падает от работы с такой инфраструктурой, но временами все равно глючит и всегда жутко тормозит. По факту выявления этой проблемы начали тестировать вышеизложенный вариант с синхронизацией каталогов т.е. файлы проекта хранились в двух местах одновременно: 1. (основной) это локальный каталог в который клонируем репозиторий. От сюда же делаем каммиты. 2. Примонтированный каталог, реально расположенный на сервере (с ним работает виртуальный хост). NetBeans действительно синхронизирует каталоги на лету, поэтому все работает на ура с любой системой контроля версий.
|
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
Если это сделано для того чтобы разработчики могли тестировать код на максимально приближенном к боевому сервере, то возможно стоит поменять направление монтирования. Тоесть монтироваться к серверу будет локальный папка, которую GIT сжует нормально. Добавлено через 1 минуту и 43 секунды BuShaRt, а тестовый сервер и сервер с репозиторием у вас случайно не на одной машине? |
|||
|
||||
Sentox |
|
|||
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
Хммм... а кто отменял ветки для разработки и мержи с транком, после чего транк по крону синхронизирует каталоги и файлы на тестовый сервер.
А вот развёртывание дебажинга с удалённого сервера более не приспособлен что ли к IDE и не каждая его хавает. А вот с локальным нет проблем, !!! мало того на локальном каждый разраб может иметь не менее нужныъх инструментов встроенных в сервер или IDE (PHPUnit, Maven, Ant) ... то есть накладывается на проект ещё и описание настройки среды разработки и степень специализации разработчиков что не менее важно. Для целостности проекта кто отменял ежедневные, двудневные ... еженедельные сборки и тестирование сборок перед мержем с транком и тестовым сервером? Кстати, выбор методологии управления проектом в некоторой степени разрешило проблему формирования окружения самого проекта. С этого фактически и стоило начинать. Это сообщение отредактировал(а) Sentox - 13.1.2012, 22:23 |
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
Sentox, тут видимо сначала был проект, а потом под него решили методологию подвести
|
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Все популярные IDE это умеют. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |