Перейти к содержимому

GitHub Actions

GitHub Actions — CI/CD и автоматизация рабочих процессов внутри GitHub. Workflows описываются YAML-файлами в репозитории и запускаются по push, pull request, schedule, workflow_dispatch и другим событиям.

Модель включает GitHub-hosted runners и self-hosted runners. Это сервис GitHub с локально выполняемыми jobs, а не отдельная открытая CI-платформа.

  • jobs, steps, matrices и зависимости между задачами;
  • готовые и собственные actions, composite и reusable workflows;
  • GitHub-hosted и self-hosted runners;
  • artifacts, caches и публикация пакетов;
  • environments, required reviewers и deployment protection;
  • secrets, variables, OIDC и короткоживущие облачные credentials;
  • интеграции с issues, releases, checks и API.

Конвейер тесно связан с экосистемой GitHub. Third-party actions получают доступ к коду и иногда секретам: их проверяют и закрепляют по полному commit SHA, а не только по подвижному тегу. Для self-hosted runners критичны изоляция небезопасных репозиториев и обновление среды. GITHUB_TOKEN получает минимально необходимые permissions.

Естественный выбор для проектов на GitHub и конвейеров рядом с pull requests. Для единого GitLab-контура рассмотрите GitLab CI/CD, для GitOps-доставки в Kubernetes — Argo CD.