Перейти до основного контенту

Як налаштувати автопідйомник GitHub: детальний посібник

11 хв читання
1561 переглядів

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

У цьому посібнику ми розглянемо крок за кроком, як налаштувати автодеплой для вашого репозиторію на GitHub. Ми розглянемо різні способи налаштування автоматичної збірки та розгортання, а також розглянемо особливості роботи з популярними платформами Cloud, такими як Heroku і AWS.

Ключовими інструментами, які ми будемо використовувати в цьому посібнику, є Action і GitHub Pages. Ми покажемо, як створити та налаштувати Action workflow для автоматичного збирання та розгортання вашого застосунку під час кожного коміту в репозиторій. Також ми розглянемо, як використовувати GitHub Pages для розгортання вашого сайту або веб-додатка.

Автоматизація процесу деплою за допомогою автодеплою GitHub є потужним інструментом для підвищення продуктивності та спрощення роботи команди розробників. Дізнайтеся, як правильно налаштувати автодеплой для вашого проєкту за допомогою цього докладного керівництва.

Як автоматично розгорнути проєкт на GitHub: детальна інструкція

Розгортання проєкту на GitHub може бути доволі виснажливим завданням, особливо коли йдеться про регулярні оновлення та автоматичне деплоювання. Однак, з використанням GitHub Actions, ви можете налаштувати автоматичне розгортання вашого проєкту, скоротивши час і зусилля, і позбавивши себе необхідності робити це вручну.

GitHub Actions надає можливість налаштування різних подій, як-от пуш у репозиторій, запит на об'єднання (pull request) або за розкладом. Це дає змогу запускати різні скрипти та дії у відповідь на ці події.

Щоб налаштувати автоматичне розгортання проєкту на GitHub, вам необхідно:

  1. Створити файл workflow у вашому проєкті на GitHub.
  2. Визначити подію, на яку реагуватиме дія (наприклад, пуш у майстер-гілку).
  3. Визначити, які дії мають бути виконані при настанні події.
  4. Зберегти та завантажити workflow у ваш репозиторій.

Після успішного налаштування workflow, GitHub Actions буде автоматично запускати зазначені дії при настанні заданої події. Таким чином, ваш проєкт буде автоматично розгорнутий на GitHub щоразу, коли нові зміни будуть включені в майстер-гілку або відповідно до інших налаштованих умов.

Автоматичне розгортання проєкту на GitHub за допомогою GitHub Actions може значно спростити і прискорити ваші робочі процеси, а також забезпечити більш стабільне і консистентне розгортання вашого проєкту.

Крок 1: Створення репозиторію на GitHub

Щоб створити нове сховище, виконайте такі дії:

  1. Відкрийте сайт GitHub у браузері та увійдіть у свій обліковий запис.
  2. На головній сторінці натисніть кнопку "New" (Створити), розташовану у верхньому лівому кутку.
  3. У вікні, що відкрилося, введіть ім'я репозиторію в поле "Repository name" (Ім'я репозиторію).
  4. Опціонально, ви можете додати опис репозиторію в поле "Description" (Опис).
  5. Виберіть видимість репозиторію (Public - публічний, Private - приватний).
  6. Виберіть опцію "Initialize this repository with a README" (Ініціалізувати цей репозиторій з README файлом).
  7. Натисніть кнопку "Create repository" (Створити репозиторій).

Вітаю! Ви успішно створили репозиторій на GitHub. Тепер ви готові перейти до наступного кроку - налаштування автодеплою.

Крок 2: Підключення та налаштування CI/CD-сервісу

Існує безліч популярних CI/CD-сервісів, таких як Travis CI, Jenkins, CircleCI і GitLab CI/CD. У цьому посібнику ми розглянемо приклад налаштування автодеплоя з використанням сервісу Travis CI, одного з найпопулярніших і найпростіших у використанні інструментів для CI/CD.

Для початку, вам буде потрібно створити акаунт на Travis CI, якщо у вас його ще немає. Потім, ви повинні будете зв'язати свій акаунт GitHub з акаунтом Travis CI.

Після цього, ви зможете створити новий файл у корені вашого сховища з назвою .travis.yml . Цей файл міститиме всі необхідні інструкції для Travis CI щодо збірки та розгортання вашої програми.

Приклад вмісту файлу .travis.yml :

language: node_jsnode_js:- "14"script:- npm run builddeploy:provider: herokuapp: your-app-nameapi_key:secure: your-encrypted-api-key

У цьому прикладі ми вибрали Node.js як мову програмування, вказали версію Node.js, скрипт складання програми, а також налаштування для розгортання на Heroku. Ви маєте замінити "your-app-name" на актуальне ім'я вашого застосунку на Heroku та "your-encrypted-api-key" на зашифрований API-ключ Heroku, який можна отримати в налаштуваннях вашого акаунта.

Після збереження файлу .travis.yml і його додавання до вашого сховища на GitHub, Travis CI автоматично збиратиме та розгортатиме ваш застосунок при кожній зміні в сховищі.

Це лише базове налаштування CI/CD-сервісу. Ви також можете налаштувати безліч інших параметрів, таких як тестування коду, запуск скриптів, сповіщення про збої та багато іншого. Рекомендується ознайомитися з документацією сервісу CI/CD, яким ви користуєтеся, для отримання більш докладної інформації.

Крок 3: Створення конфігураційного файлу для автодеплоя

Після успішного створення репозиторію та налаштування облікового запису GitHub, необхідно створити конфігураційний файл для автоматичного деплою вашого проєкту.

1. У кореневій папці вашого проєкту створіть новий файл із назвою .github/workflows/deploy.yml .

2. відкрийте файл у текстовому редакторі та додайте наступний код:

name: Автодеплойon:push:branches:- mainjobs:build:runs-on: ubuntu-lateststeps:- name: Проверка репозиторияuses: actions/checkout@v2- name: Установка зависимостейrun: npm install- name: Сборка проектаrun: npm run build- name: Деплой на серверuses: easingthemes/[email protected]:ssh-private-key: $>ssh-username: $>server-ip: $>remote-dir: /var/www/htmllocal-dir: dist

3. Збережіть файл deploy.yml .

У даному конфігураційному файлі використовується GitHub Actions, який дає змогу автоматично виконувати певні дії при певних подіях, у нашому випадку - під час пушу змін у гілку main .

Далі відбувається запуск декількох кроків:

КрокОпис
Перевірка репозиторіюКлонування репозиторію на віртуальну машину GitHub Actions.
Встановлення залежностейВстановлення необхідних залежностей для вашого проекту (наприклад, бібліотеки JavaScript).
Збірка проектуЗбірка проекту, якщо це необхідно (наприклад, компіляція та мініфікація коду).
Деплой на серверПеренесення зібраного проєкту на сервер у вказану папку.

Для виконання деплою використовується додаткова дія easingthemes/[email protected] . У параметрах вказані ключі та налаштування сервера, які мають бути додані до налаштувань вашого репозиторію в розділі "Secrets".

Вітаємо! Тепер у вас є конфігураційний файл для автоматичного деплою вашого проєкту під час пушу змін у гілку main .

Крок 4: Налаштування веб-хука для запуску автодеплоя

Щоб налаштувати веб-хук, виконайте такі кроки:

  1. Відкрийте репозиторій на GitHub і перейдіть у розділ "Settings".
  2. Виберіть вкладку "Webhooks" у лівому меню.
  3. Натисніть кнопку "Add webhook".
  4. У полі "Payload URL" введіть URL вашого сервера, на якому запущено скрипт автодеплоя.
  5. Виберіть "application/json" як формат передачі даних.
  6. Виберіть "Just the push event" як подію, яка буде викликати веб-хук.
  7. Натисніть кнопку "Add webhook", щоб зберегти налаштування.

Примітка: Перед налаштуванням веб-хука переконайтеся, що ваш сервер доступний з інтернету і правильно налаштований для приймання та обробки запитів від GitHub.

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

Тепер у вас налаштоване автоматичне розгортання GitHub! Вітаю!

Примітка: Залежно від вашої конкретної ситуації та інструментів, що використовуються, кроки та налаштування можуть дещо відрізнятися, однак основний принцип залишається той самий.

Крок 5: Перевірка та налаштування сповіщень про статус деплою

Сповіщення про статус деплою відіграють важливу роль у процесі автодеплою на платформі GitHub. Вони дають змогу вам стежити за прогресом і успішністю деплою вашого коду. У цьому розділі ми розглянемо, як налаштувати та перевірити сповіщення про статус деплою.

  1. Перейдіть у налаштування вашого сховища на GitHub.
  2. Виберіть вкладку "Webhooks"
  3. Натисніть на кнопку "Add webhook"
  4. У полі "Payload URL" вкажіть URL-адресу, куди мають надсилатися повідомлення.
  5. Виберіть тип повідомлення "application/json".
  6. Виберіть події, за яких мають надсилатися повідомлення (наприклад, "push", "pull_request", "deployment").
  7. Вкажіть секретний ключ, якщо потрібна додаткова автентифікація під час приймання повідомлень.
  8. Збережіть налаштування. GitHub надішле тестове повідомлення на вказану URL-адресу.

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

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