Пошта
Інструкції з хостингу

Публікація сайту з Git (GitHub і GitLab)

Публікація сайту з Git

Ви можете публікувати сайт безпосередньо з GitHub або GitLab. Коли в гілці з'являється нова версія, вона публікується автоматично, а до попередньої версії можна повернутися однією кнопкою. SFTP і надалі працює паралельно.

Публікація з Git доступна для сайтів на новій платформі. Її можна знайти в особистому кабінеті в розділі Хостинг (Web hosting): відкрийте сайт, а під ним розділ Публікація з Git (Deploy from git). Якщо в розділі вказано, що публікація з Git не входить у ваш тариф, зв'яжіться зі службою підтримки.

1. Увімкніть публікацію з Git

  1. Відкрийте в особистому кабінеті Хостинг (Web hosting), оберіть сайт і відкрийте Публікація з Git (Deploy from git).
  2. Введіть адресу репозиторію у форматі SSH, наприклад git@github.com:yritys/sivusto.git, і гілку, зазвичай main.
  3. Оберіть тип сайту. Статичний або безпосередньо публічний сайт (Static or directly public site) публікує репозиторій як є. Застосунок (Application) (наприклад, Laravel або Symfony) публікує застосунок і робить доступним з інтернету лише публічний каталог, зазвичай public.
  4. За потреби додайте команду збірки і постійні шляхи (див. нижче).
  5. Натисніть Увімкнути публікацію з Git (Turn on git deploy).
  6. З'явиться секрет вебхука. Збережіть його одразу, бо він показується лише цього разу. Якщо він загубиться, новий можна створити в меню «Інші дії» (More actions).

2. Додайте deploy-ключ до репозиторію

В особистому кабінеті відображається публічний ключ, створений для сайту. За допомогою ключа сервер може читати репозиторій, але не може записувати в нього.

  1. Скопіюйте ключ з особистого кабінету.
  2. Відкрийте репозиторій на GitHub і оберіть Settings, Deploy keys і Add deploy key.
  3. Вставте ключ і дайте йому назву. Не позначайте пункт Allow write access.

3. Додайте вебхук для автоматичної публікації

Відкрийте в репозиторії на GitHub Settings, Webhooks і Add webhook та заповніть форму так:

  1. Payload URL: вставте адресу вебхука з особистого кабінету.
  2. Content type: оберіть у меню application/json. За замовчуванням вибрано інший варіант, тому його потрібно змінити.
  3. Secret: вставте секрет вебхука, який ви зберегли під час увімкнення.
  4. Which events: оберіть Just the push event.
  5. Натисніть Add webhook. GitHub надішле тестове повідомлення, і поруч із ним з'явиться зелена позначка, якщо все налаштовано правильно.

4. Зробіть першу публікацію

Натисніть в особистому кабінеті Опублікувати зараз (Deploy now). Статус і журнал публікації відображаються в історії публікацій. Після цього кожен push у гілку публікується автоматично.

Команда збірки

Команда збірки виконується перед публікацією, наприклад npm ci && npm run build. Вона може тривати не довше 15 хвилин. Composer заздалегідь не встановлено, тому використовуйте команду php composer.phar install або зберігайте каталог vendor у репозиторії.

Постійні шляхи

Кожна публікація замінює файли сайту новою версією. Шляхи, позначені як постійні, зберігаються між публікаціями, тому позначте як постійні, наприклад, storage, .env і файли, завантажені користувачами, як-от uploads.

Повернення до попередньої версії

В історії публікацій біля кожної успішної публікації є кнопка Повернутися до цієї версії (Roll back to this version). Повернення відбувається миттєво. Кількість збережених версій можна вибрати в налаштуваннях.

Корисно знати

  • Невдала публікація не змінює сайт: попередня версія залишається видимою. Причину видно в журналі публікації.
  • Підмодулі Git і файли LFS не публікуються.
  • Налаштування публікації з Git можуть змінювати адміністратор облікового запису і технічна контактна особа.