Было принято решение о том, что пора уже выходить на новый уровень разработки: использовать систему контроля версий. Перерыл кучу форумов и пабликов и ненашел ничего внятного для себя, посему, разбираюсь по шагам и сразу описываю тут. Может хоть кому-то будет полезно!
Ну, с Богом!
Не уверен, в том, что получится, но буду пробовать.
Итак, имеем установленную на сервере виртуальную машину 1С-Битрикс. Также посоветовали мне знающие люди достаточно таки неплохой сервис: bitbucket.org для хранения версий продукта (ну если у вас нет паранойи по поводу безопасности, как сказал один знакомый программист).
Итак, порядок действий:
1. Открываем по SSH нашу виртуальную машину. 2. Устанавливаем родные обновления 3. В корень машины заливаем актуальный релиз GIT (посмотрел на сайте http://git-scm.com/, что на сегодняшний день актуальная версия 1.8.3). К сожалению, как скачать с источника файл для linux так и не нашел (почему-то только для Windows есть, скорей всего, потому, что заходил на сайт из под windows), поэтому скачал с Google: (http://code.google.com/p/git-core/dow...r.gz&can=2):
Обратите внимание, что имя и адрес e-mail должны совпадать с логином и мейлом, указанными при регистрации в хранилище. Для проверки корректности введенных настроек можо выполнить команду:
git config --list
С непосредственной настройкой GIT в виртуальной машине всё!
Далее необходимо настроить репозитарий. Для этих целей был выбран сервис Bitbucket (почему, описано отлично на хабре: http://habrahabr.ru/sandbox/37865/)
В статье по ссылке описана вся процедура регистрации и создания проекта на данном сервисе, поэтому на ней не буду пока останавливаться (может позже расширю сей пост). Нам необходим SSH ключ, по которому наш сервер будет общаться с хранилищем
10. В операционной системе Linux вначале нужно заглянуть в каталог ~/.ssh. Если там есть файлы id_rsa и id_rsa.pub то это и есть SSH-ключи. Если такого каталога или таких файлов нет, то ключи нужно сгенерировать. Проверил - ключей нет. Генерируем:
ssh-keygen -t rsa -C 'myemail@mail.ru'
Вместо myemail@mail.ru нужно указать свой email. В процессе генерации ключа у вас спросят куда положить файлы, в ответ просто нажимаем Enter. При запросе пароля просто нажимаем Enter. После генерации, в каталоге ~/.ssh должны появиться файлы id_rsa и id_rsa.pub, они нам пригодятся в дальнейшем.
Следующий шаг — это добавить сгенерированый публичный ключ в наше хранилище.
Для этого установим программу, которая скопирует публичный ключ в буфер обмена:
yum install xclip
Копируем SSH-ключ:
$ xclip -sel clip < ~/.ssh/id_rsa.pub
У меня данная команда выдала ошибку, поэтому сделал в лоб:
cat ~/.ssh/id_rsa.pub
и полученный ключ скопировал уже в буфер
Заходим на Bitbucket, добавляем SSH-ключ и сохраняем его.
Дальше возвращаемся к консоли виртуальной машины.
необходимо провести первый коммит всех проведенных изменений.
Для этого переходим в папку с вашим сайтом. Я обычно размещаю все сайты через add aditional site, а основной сайт, доступный напрямую по ИП-адресу, оставляю под заглушку.
где USER_LOGIN - ваш логин в проекте bitbucket, PROJECT_NAME - название проекта заданное в системе bitbucket
Все! установленный сайт отправлен в репозитарий. Переходим к настройке работы с GIT с компьютера: Установка GIT и TortoiseGIT описана отлично тут: http://habrahabr.ru/sandbox/37865/
Единственное уточнение: при подключении TortoiseGIT к репозиторию очень долго провозился. Есть несколько моментов: а) папка для бекапов и папка для проекта - не вложены друг в друга б) при клонировании в поле "путь" по умолчанию стоит папка. нужно сменить на web
По дальнейшей работе - тут уже каждый сам для себя строит процедру. как по мне: отличный вариант отправлять коммит преимущественно с сервера,а на локальные машины уже загружать актуальную версию. Но дело ваше:)
Подниму-таки старую тему У кого как при разработке по подобным схемам (через удаленный репозиторий) обстоит дело с отладкой? По сути, пока не закоммитишь, на сервере изменений своих не увидишь и не сможешь проверить, как работает твой код. Конечно, кто-то предлагает на каждой машине запускать локально JVM с копией сайта. Но это, на мой взгляд, далеко не самое лучшее решение: во-первых, виртуалка сама по себе тяжелая, а виртуалка с Битриксом - тем более, во-вторых, встает вопрос с синхронизацией БД между всеми машинами (всевозможные настройки и все, связанное с ИБ хранится в БД, и в ГИТ эту информацию не вытащишь).
А работать через VCS хочется, в целом это серьезно ускорило бы процесс разработки и сделало бы его удобнее.
Возможно, кто-то уже нашел другое, более адекватное решение - поделитесь, пожалуйста =)
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».