Здравствуйте.
Задали на работе разработать сайт на CMS 1с битрикс. Проект будут вести сразу два программиста.
Раньше, один проект вел один программист. Он разворачивал проект у себя локально в Openserver (Xampp, Wamp) и все делал один.
Теперь же нужно синхронизировать разработку между двумя. Опыта такой раньше не было. Так что прошу помощи.
Свои мысли привожу ниже.
Что же нужно синхронизировать?
1. Во первых код. Грубо говоря файлы. Пхп скрипты, файлы стилей css, верстку хтмл, шаблоны и т.д.
2. Базу данных на Mysql. Ведь битрикс хранить новости, настройки и многое важное в базе данных. Ведь в этот сайт нужно будет залить контент. И контент у каждого прогера должен синхронизирован тоже.
В конце концов идишники инфоблоков, новостей должны быть одинаковые. Они хранятся в бд.
Мысли вслух.
Опенсервер ведь изолированная среда apache, php, mysql.
Главная фича таких сборок это можно скопировать всю папку Опенсервера и спокойно запустить на любом компьютере.
Бд хранится в этой папке. Бд ведь это обычные файлы на жеском диске.
Мысль такого. Один развернет битрикс у себя локально на Опенсервере. Битрикс создаст все системные таблицы. Потом второй просто скопирует всю папку Опенсервера. Файлы будут синхронизироватся через яндекс диск или bittorentsync.
Это также решает проблему дебагинга. Ведь у каждого будет своя локальная копия. Если я правильно понимаю, при дебагинге временно замораживается апачи сервер. Если бы, они дебажили один и тот же сайт, то мешали бы друг другу.
Подскажите, как лучше все это организовать?
Софт, который будет использоваться phpstorm
Версия php 5.4x
Дебаггер xdebug.
Ос Windows 8.1 х64
Делаете общедоступный dev-сервер. Устанавливаете на нём эталонное веб-окружение www.1c-bitrix.ru/products/env/. Разработка на битриксе отлично сегментируется между программистами, безо всякого гита, достаточно заранее собраться командой и побить проект на чёрные ящики и в путь.
dev-сервер должен быть один для всех программистов, ибо потом вы базу не состыкуете с разных дампов.
Вы имеет ввиду развернуть виртуальныую машину с 1С битриксом в сети?
Удаленно или в локальке?
И подключаться по FTP для изменения файлов?
Но ведь машина будет одна для всех программистов и возникает проблема при дебагинге. Ведь дебагинг временно заможивает сервер апачи. Если один занимается дебагинггом, то второй не сможет?
По большому счёту дебагер нужен только для трассировки. При разработке на высокоуровневой cms вам не понадобится разрабатывать модули и классы, API уже готово и отлажено. Там где необходимо просто распечатайте массив $arResult, вот например удобная функция https://code.google.com/p/preview-array/downloads/...
о да. битрикс такой битрикс. нафик нам гит и другие непонятные слова. как часто я слышу что-то в этом русле от битрикс-разработчиков. да же объяснять ничего нет желания
amarox: окей, да будет великийСрачВКаментах. Командную работу можно легко организовать и на битриксе: поднимается центральный дев-сервер, разработчики у себя на компьютерах поднимают виртуальные эталонные машины, только БД используют от центрального дев-сервера, это позволяет программисту использовать дебагер на его локальной машине, комитить свой функционал сколь душе угодно и раз в неделю сливать комиты php в центральный дев-сервер.
p.s. если вы знаете способ смёржить пять сотен связных таблиц от десяти программистов в одну БД, при этом не потеряв целостность, поделитесь этими сакральными знаниями.
Express777 Мне жаль вас расстраивать, но git и github - это принципиально разные вещи. git - децентрализованная vcs, github - соц. сеть + хостинг проектов на базе git. Есть еще gitlab))
Конкретно по БД: обычно используется механизм миграций, который отличается, в зависимости от языка, фреймворка и БД.