Было принято решение о том, что пора уже выходить на новый уровень разработки: использовать систему контроля версий. Перерыл кучу форумов и пабликов и не нашел ничего внятного для себя, посему, разбираюсь по шагам и сразу описываю тут. Может хоть кому-то будет полезно!
Не уверен, в том, что получится, но буду пробовать.
Итак, имеем установленную на сервере виртуальную машину 1С-Битрикс.
Также посоветовали мне знающие люди достаточно таки неплохой сервис: bitbucket.org для хранения версий продукта (ну если у вас нет паранойи по поводу безопасности, как сказал один знакомый программист).
Итак, порядок действий:
- Открываем по SSH нашу виртуальную машину.
- Устанавливаем родные обновления
- В корень машины заливаем актуальный релиз GIT (посмотрел на сайте , что на сегодняшний день актуальная версия 1.8.3). К сожалению, как скачать с источника файл для linux так и не нашел (почему-то только для Windows есть, скорей всего, потому, что заходил на сайт из под windows), поэтому скачал с Google: (
wget http://git-core.googlecode.com/files/git-1.8.3.tar.gz
- Распаковываем полученный архив:
tar xvfz git-1.8.3.tar.gz
-
Заходим в полученную после распаковки папку:
cd git-1.8.3
- Устанавливаем GIT:
yum install git-core
- Устанавливаем обновления GIT:
$ git clone git://git.kernel.org/pub/scm/git/git.git
- После успешной установки гуру рекомендуют некоторые настройки. Их мы и сделаем:
$ git config --global color.diff "auto" $ git config --global color.status "auto"
$ git config --global color.branch "auto"
- Дальше укажем свое имя и свою почту, которые будут выводиться при коммитах:
$ git config --global user.name "Firstname Lastname" $ git config --global user.email "email@example.com"
Обратите внимание, что имя и адрес e-mail должны совпадать с логином и мейлом, указанными при регистрации в хранилище. Для проверки корректности введенных настроек можо выполнить команду:
git config --list
С непосредственной настройкой GIT в виртуальной машине всё!
Далее необходимо настроить репозитарий. Для этих целей был выбран сервис Bitbucket (почему, описано отлично на хабре:
В статье по ссылке описана вся процедура регистрации и создания проекта на данном сервисе, поэтому на ней не буду пока останавливаться (может позже расширю сей пост). Нам необходим SSH ключ, по которому наш сервер будет общаться с хранилищем
В операционной системе 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, а основной сайт, доступный напрямую по ИП-адресу, оставляю под заглушку.
cd /home/bitrix/ext_www/site_folder/
И в этой папке выполняем набор команд:
git init git add . git commit -a -m 'first commit' git remote add origin ssh://git@bitbucket.org/USER_LOGIN/PROJECT_NAME.git git push -u origin master
где USER_LOGIN - ваш логин в проекте bitbucket, PROJECT_NAME - название проекта заданное в системе bitbucket.
Все! установленный сайт отправлен в репозитарий. Переходим к настройке работы с GIT с компьютера.
Установка GIT и TortoiseGIT описана отлично тут:
Единственное уточнение: при подключении TortoiseGIT к репозиторию очень долго провозился. Есть несколько
моментов:
а) папка для бекапов и папка для проекта - не вложены друг в друга
б) при клонировании в поле "путь" по умолчанию стоит папка. нужно сменить на web
По дальнейшей работе - тут уже каждый сам для себя строит процедру. как по мне: отличный вариант отправлять коммит преимущественно с сервера,а на локальные машины уже загружать актуальную версию. Но дело ваше:)
Список использованных линков: