Пример использования git


Рассмотрим пример использования git:

  • загрузку файлов проекта в репозиторий
  • выгрузку их на рабочий сервер



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

Из git загружаются на на сервере данные проекта в production. Deploy из git может производиться с github или из приватного репозитория в собственной инстраляции системы контроля версий (например, Gitlab).



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



Пример использования git: Deploy небольшого сайта из репозитория на github


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

пример использования git, deploy из git


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



Добавление данных проекта в репозиторий


Разработка обычно ведется на локальном компьютере, когда все изменения внесены они отправляются в git

git add .

git commit -m 'made some changes'

git push -u origin master



Данные после выполнения push на компьютере и в репозитории на github находятся в одном состоянии. Из публичного репозитория их можно скачать с любого другого компьютера, в том числе с рабочего сервера



Deploy из git


Чтобы выполнить deploy из git авторизуемся на сервере по SSH

Далее заходим в каталог, в котором размещаются или будут размещаться файлы проекта.

ssh [email protected]

cd /var/www/web/example.com



Инициализируем репозиторий

git init



Скачиваем все данные с github выполняя pull, по сути это и есть deploy из git

git pull https://github.com/loginongithub/example/



После того как все файлы будут переданы из публичного репозитория сайт проекта станет доступен (дополнительно может потребоваться развернуть базу данных из дампа).




! Проект станет доступен при условии что веб-сервер уже настроен для того чтобы отдавать данные из каталога приложения при запросе определенного домена.

Пример настройки веб-сервера

Информация о том как настраивается связка Nginx + Apache




Способ отлично подходит для небольших по объему проектов. Данные передаются по сети и скачиваются из публичного repo не мгновенно и если информации много — процесс может занять длительное время. Это стоит учитывать. При добавлении измений в дальнейшем процесс будет протекать быстро.



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



Часто применяется и свое хранилище git репозиториев.

Самыми популярными решениями для хранения репозиториев являются Gitlab и Jenkins.

Сказать спасибо