Вступ до GitHub Actions

CI/CD для машинного навчання

Ravi Bhadauria

Machine Learning Engineer

Що таке GitHub Actions?

  • GitHub Actions (GHA): платформа CI/CD для автоматизації конвеєрів
  • Конвеєр: послідовність кроків, що описує рух роботи та даних
CI/CD для машинного навчання

Що таке GitHub Actions?

Зображення конвеєра зі збирання автомобілів: працівники на різних етапах виконують завдання — встановлюють двигун, колеса та фарбують кузов.

CI/CD для машинного навчання

Що таке GitHub Actions?

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

1 https://medium.com/empathyco/applying-ci-cd-using-github-actions-for-android-1231e40cc52f
CI/CD для машинного навчання

Компоненти GHA: Event

  • Подія (Event): конкретна активність у репозиторії, що запускає виконання workflow
    • Push
    • Pull Request
    • Відкриття issue
CI/CD для машинного навчання

Компоненти GHA: Workflow

  • Workflow: автоматизований процес, що запускає один або кілька jobs
    • Визначений у файлах YAML
    • Запускається автоматично подією event
      • Можливий ручний запуск
    • Зберігається в каталозі .github/workflows у репозиторії
    • Можна визначити кілька workflows
CI/CD для машинного навчання

Компоненти GHA: Steps і Actions

  • Кроки (Steps): окремі одиниці роботи
    • Виконуються послідовно, залежать від попереднього кроку
    • Працюють на одній машині, тож дані можна ділити
    • Приклади робіт
      • Компіляція застосунку, shell-скрипт
      • Action: застосунок платформи GHA
        • Напр., checkout репозиторію, коментар до PR
CI/CD для машинного навчання

Компоненти GHA: Jobs і Runners

  • Job: набір кроків
    • Кожен job є незалежним
    • Можливе паралельне виконання
    • Виконується на обчислювальній машині, що зветься runner
CI/CD для машинного навчання

Простий workflow у GHA

Зображення push-події в репозиторії, що запустила workflow: один job працює на Ubuntu Linux runner. Job має два кроки: checkout репозиторію та запуск Python-коду.

  • Event: Push
  • Job: працює на runner під Ubuntu, має два кроки
    • Action: Checkout Repo
    • Run Python Code
CI/CD для машинного навчання

Зведімо все докупи

Схема типового workflow GitHub Actions з паралельними jobs і послідовними кроками.

CI/CD для машинного навчання

Давайте потренуємось!

CI/CD для машинного навчання

Preparing Video For Download...