GitHub Actions — це потужний інструмент для автоматизації процесів безпосередньо у вашому репозиторії. Вони дозволяють автоматично виконувати завдання у відповідь на події, такі як створення нового комміту, відкриття pull request або релізу. Це дозволяє інтегрувати CI/CD процеси безпосередньо у ваш робочий процес розробки.
Основні поняття GitHub Actions
- Workflow (Робочий процес):
- Це автоматизований процес, який виконує набір дій. Він складається з одного або більше jobs, які запускаються у відповідь на певні події в репозиторії.
- Файл визначення робочого процесу зберігається у вашому репозиторії у каталозі
.github/workflows
.
- Job (Задача):
- Це сукупність кроків, які виконуються на одному екземплярі (runner). Jobs можуть виконуватися паралельно або послідовно, залежно від залежностей, які ви визначите.
- Step (Крок):
- Це окреме завдання в межах job. Кроки можуть бути виконанням shell-команд або викликом дій (actions).
- Actions (Дії):
- Це індивідуальні команди, які виконують окремі завдання, такі як перевірка коду, тестування або деплой. Існує безліч публічних дій у GitHub Marketplace, які можна використовувати у ваших робочих процесах.
- Events (Події):
- Це тригери, які ініціюють запуск робочого процесу. Це можуть бути події, такі як push, pull request, створення issue тощо.
Створення базового робочого процесу
-
Створення файлу робочого процесу:
- Відкрийте ваш репозиторій на GitHub.
- Перейдіть у вкладку "Actions" та натисніть на кнопку "New Workflow".
- Оберіть шаблон або почніть з нуля.
-
Приклад базового робочого процесу:
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
- name: Назва робочого процесу.
- on: Події, які ініціюють робочий процес.
- jobs: Задачі, які виконуються в межах робочого процесу.
- runs-on: Платформа, на якій буде виконуватись job (наприклад, Ubuntu, Windows, macOS).
- steps: Кроки, які виконуються в межах job.
Використання дій (Actions)
-
Дії можна використовувати для спрощення повторюваних завдань. Наприклад, замість того, щоб писати код для налаштування середовища, ви можете використати існуючі дії з GitHub Marketplace.
-
Приклад використання дій:
- name: Checkout code
uses: actions/checkout@v2
Налаштування середовища виконання
- runs-on: вказує платформу, на якій буде виконуватись job. Ви можете використовувати віртуальні середовища, такі як
ubuntu-latest
, windows-latest
, macos-latest
.
- Ви можете використовувати секрети та змінні середовища для захисту конфіденційних даних.
Поради та рекомендації
- Оптимізація: Розділяйте ваші робочі процеси на декілька jobs для покращення продуктивності.
- Безпека: Використовуйте секрети для зберігання конфіденційної інформації.