Ведення проекту на GIT

Категорії
Зміст
  1. Загальний принцип роботи проекту на GIT
  2. Порядок роботи через GIT
  3. Створюємо локальну базу даних
  4. Налаштовуємо локальний конфиг

Раніше ми настійно рекомендували вести проекти на Git. Зараз же, це є обов'язковим параметром для будь-якого проекту хоча-б середнього розміру. Це полегшує завдання з оновлення сайту і реалізації на ньому доробок.

До нас почали надходити безліч питання, як саме ми рекомендуємо вести проекти на GIT. Результатом цих питань стала ця стаття.

уточнення:

Все наведене програмне забезпечення статті є рекомендованим, але це не означає, що саме його необхідно використовувати. Аналогічно і з механізмом ведення проектів на GIT. Варіантів ведення проектів досить велика кількість, ми відпрацювали цей варіант, він нам сподобався і ми вирішили з вами ним поділитися. Пам'ятайте, ви завжди можете вибрати інший підхід, спосіб або варіант.

Загальний принцип роботи проекту на GIT

Ми вже знаємо, що для розміщення робіт на перевірку нам необхідна локальна машина і тестовий сервер (найчастіше це піддомен сайту dev. Або test.) І основний сервер, на якому знаходиться робочий сайт.

Робота спочатку виконується на локальній машині, а потім, коли вже можна щось відправляти на тестування на тестовий сервер, з локальної машини записуємо код в репозиторій і використовуємо команду git push, в гілку яка пов'язана з тестовим сервером (dev).

Потім скрипти повинні перенести код з віддаленого сховища на dev / production сервери. Ще можна перенести вручну по FTP / SSH.

Для OkayCMS є спеціально розроблений нами модуль https://okay-cms.com/products/git_project який це робить.

Порядок роботи через GIT

Для початку нам необхідно налаштувати локальне оточення для роботи з проектом. Нам знадобиться LAMP або WAMP (Linux / Windows, Apache, MySQL, PHP), текстовий редактор (у прикладі буде використовуватися IDE PhpStorm),

сам GIT інструкція по установці і composer .

GIT повинен бути встановлений на локальній машині і на сервері.

Порада: Як досить зручний варіант WAMP можна встановити OpenServer ( https://ospanel.io/download/ ), він в собі містить Apache, MySQL, PHP.

Далі створюємо віддалений репозиторій (репозиторій, де буде постійно зберігатися код). Для створення сховища можна використовувати будь-який з ресурсів: github.com, bitbucket.org, gitlab.com і т.д.

<> У статті ми розглядаємо ведення проекту на bitbucket.org.

Для створення сховища необхідно зареєструватися на bitbucket.org (або на будь-якому іншому ресурсі). Потім в кабінеті зліва натискаємо + -> create -> repository. В поле Project і Repository name вписуємо осмислену назву (можна домен сайту) і перевіряємо проставлену опцію "Private repository" (це означає що без введення пароля не можна подивитися вміст сховища).

Після створення сховища ви побачите приблизно таку інструкцію, вона знадобиться пізніше.

Далі, ми на локальній машині створюємо локальний домен, де буде проходити роботи з проектом. Тут все залежить від обраної вами LAMP / WAMP і виходить за рамки цієї статті.

Створюємо локальну базу даних

Далі потрібно додати файли проекту. Припустимо, що це новий проект. У такому випадку потрібно встановити через установник або склоніровать офіційний репозиторій https://github.com/OkayCMS/Okay3.git . У випадку з клонуванням сховища, потрібно видалити директорію .git всередині проекту (це прихована директорія, щоб її побачити потрібно включити відображення прихованих файлів і папок).

Якщо OkayCMS додавався через установник, дамп бази вже завантажений в БД. Якщо його клонували, потрібно додатково завантажити в БД дамп з 1DB_changes / okay_clean.sql.

Стандартний доступ в адмінку після чистої установки:

логін - admin

пароль - 1234

З міркувань безпеки міняти стандартний логін і пароль або видаляти обліковий запис адміністратора після установки через GIT

Налаштовуємо локальний конфиг

Для цього необхідно створити файл config / config.local.php і в ньому за аналогією з config / config.php прописати доступи до локальної базі і ліцензію локальних доменів.

Ключ ліцензії для доменів localhost, local, okay, ok, okaycms, okcms, okaycms, okcms, okaycms3:

6krnbqvtld bcwcejpzgj nvwnxosqyt ovrztnqqr1 xutb9nhlsl ik7a6y9z zqwhhrtwdx gihygryqik sxknuyr6xn qus8rtylvl fzzrotobdm 9qjpshflqm xwhjoxhmyn rumsknsnnl rdpcqnplvm rnavvrbt6f qsqs8zhofs hymnurdttq mzyfvryc kwwbrqqozk povbqn8kpx dmvkswonpz 9trlkmtwvy vnevholswk k6zvmqlzxd nppptcvivx mtkyzxxztq rmdxpympvt i9pgr7tvko nmpsklravr mtudvsskxl wwumxjcmxz fwyvktgywo gibfedydq9 ezjrhtsrzg ovjiqevq vooqyktn zp7z4wo2lx y8ylkeghxr yjsevsjvsn zikgnljhoh puvlswwsxy xvf2dlzobk obyvhepz pbvapwoyhq xwozmqqmiz skntlxuutx rfqny5xpf6 i7pp9ewg8a bzbhrlelmn kitumtymls vywouvlqpk ycostvrmsp xegu9xpifu ogay9zweyp dvxnenvnfq qwirwpyuj1 lgupzbwot6 q8xe7uixwz hegzfiqg9i qzfkfntzdu hyxpyulqsy zsxjvqvvvs xjxnptvvjm 4tkwavel6n 9xrnjokzjr nyflrlttxx sty9weslnh rjtdztqrsg yhyi3i9lhz modrzqtpou a2xjj6mlks syx6pmmhsq pkwwsvopsw vnvnznmzov 9seonrdom4 9bvdtebnom l8erpzsjpf xpndqrqjuf nhwousuyyr ux7vewsut9 6u677ypnhe shswghomud woxnwiojru nwlwwuvrvs tywtcarl74 9dp7eom9jp bzovmvjehy vvfnxuxtql stvnpyolot yvv8pmx97h xm57ukciw n zbjwnugxzh cflvpnoovo uympwotxor pbpwzevzw7 rldr88ef8v fjdw

Виконуємо команду composer install і після установки всіх залежностей проект має запрацювати.

Тепер відкриваємо GIT-bash (встановлену разом з гітом) на Windows або bash на Linux, переходимо в директорію проекту і виконуємо команду git init. Після цього створиться порожній репозиторій. Потім потрібно налаштувати .gitignore, щоб виключити непотрібні файли з під контролю версій.

приклад .gitignore

compiled / * / *. php
Okay / xml / compiled / *. Php
/ Vendor /
backend / design / compiled / *. php
backend / files /*/*.*

files /**/*.*
! Files / ** / *. Phtml

! Files / ** / *. Php *
! Files / ** / *. Cgi
! Files / ** / *. Exe
! Files / ** / *. Pl
! Files / ** / *. Asp
! Files / ** / *. Aspx
! Files / ** / *. Shtml
! Files / ** / *. Shtm
! Files / ** / *. Fcgi
! Files / ** / *. Fpl
! Files / ** / *. Jsp
! Files / ** / *. Htm
! Files / ** / *. Html
! Files / ** / *. Wml
! Files / lang /*.*
cache /

Okay / log / *. Log
config / config.local.php
design / * / lang / local. *. php

! *. Keep_folder
! *. Htaccess
robots.txt

Якщо ви використовуєте IDE PhpStorm або іншу, яка створює тимчасові файли в директорії проекту, потрібно додати цю директорію в ігнор.

Рекомендується брати .gitignore з модуля https://okay-cms.com/products/git_project , де підтримується актуальний приклад .gitignore для останньої версії Okay.

Потрібно налаштувати параметри user.name і user.email, ці дані будуть відображатися біля коммітов як автор коммітов. Щоб налаштувати це потрібно виконати команди:

git config --global user.name "<userName>"

git config --global user.email "<userEmail>"

Щоб не вводити при кожному push або pull повний шлях до сховища, можна додати йому алиас. Для цього виконайте команду з інструкції, яку вам видав бітбакет (скрін вище) git remote add origin [email protected]/ zyxer / test_repo.git . За допомогою цього, ви додасте посилання на репозиторій під аліасом origin.

Після настройки gitignore необхідно додати файли в індекс git add (дана команда додасть взагалі всі файли проекту, які не описані в .gitignore) і зробити перший Комміт за допомогою команди git commit -m "Init project <okayVersion>" (ключ -m означає що буде додано коментар до коммітов) док .

Порада: На цьому моменті необхідно створити гілку okay_clean, в якій будемо вести версії Okay, для поновлення проекту.

Оновлення буде відбуватися так: після виходу нової версії OkayCMS необхідно буде перейти в цю гілку, видалити всі файли крім .git і .idea (це директорія PhpStorm-а, якщо у вас інша IDE і директорія може бути інша), config / config.local .php і копіюєте сюди повністю нову версію OkayCMS (як варіант склоніровать публічний репозиторій в тимчасову директорію), git побачить різницю лише в файлах які змінилися, робимо Комміт, як коментар вказуєте версію OkayCMS, потім переходимо в гілку, де ведеться проект і зливаємо гілку okay_clean (команда git merge). Таким чином навіть якщо ви правили ядро, GIT або автоматично зіллє гілки, або запропонує вирішити конфлікт.

Далі необхідно в гілці master встановити модуль Автоматична збірка на GIT і зробити ще один Ком. Створити від гілки master гілку dev і запущено гілки master і dev в віддалений репозиторій за допомогою команди git push origin master (означає запущено гілку master в репозиторій з аліасом origin) і git push origin dev (важливо першим запущено master).

Коли код вже в віддаленому репозиторії, потрібно створити основний домен і тестовий піддомен. Їх бажано створювати на одному сервері, щоб тестувалися роботи в умовах наближених до бойових. Тестовий домен зазвичай виглядає як dev.domain.com. Після створення доменів потрібно налаштувати авторизацію по SSH ключів між сервером і bitbucket.org і склоніровать проект з віддаленого сховища на ваш сервер. Клонувати треба по SSH. Більш детально цей механізм описаний в інструкції до модулю ведення проектів на OkayCMS через git

Щоб з'єднатися з сервером по SSH з машини на Windows можна використовувати git bash (буде працювати як на linux) або ж використовувати

Після клонування проекту, потрібно на сервері, також встановити всі залежності за допомогою команди composer install, налаштувати локальний конфиг і залити дамп бази в БД на сервері (для dev і production серверів варто вести різні бази). Все точно так само як і на локальній машині (описано вище).

Оскільки файл robots.txt виключили з GIT, на dev сервері його варто створити з вмістом:

User-agent: *

Disallow: /

На production сервері створити потрібно відповідно до останньою версією OkayCMS .

Також рекомендується на dev сервері вимкнути сайт (в настройках сайту) щоб пошукові роботи або інші користувачі "не ходили" з цього сайту.

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

Редагувати файли, які під контролем версій не можна, інакше після чергової збірки проекту через модуль всі зміни будуть стерті.

Коментарі 1
Вася
23.09.2022, 15:51
Можна було і покрокову відео інструкцію створити...
OkayCMS
27.09.2022, 13:54
Вася, Дякую можливо зробимо
Написати коментар
увійдіть в особистий кабінет
Завантажити OkayCMS
version 4.5.0
Підписатися на розсилку
Ви будете отримувати добірку корисних статей по роботі з сайтом на OkayCMS, знижки на модулі і шаблони