GitHub Actions

Что это такое

GitHub Actions — система автоматизации, встроенная в GitHub. Рабочий процесс — это файл в репозитории, описывающий, что должно произойти при некоем событии: push, pull request, расписание, — и платформа выполняет его на предоставленной ею машине. Тот же механизм покрывает непрерывную интеграцию, релизы, плановое обслуживание и рутинные работы, поэтому это часто первый конвейер, который берёт в руки команда.

Почему это важно

Конвейер живёт рядом с кодом, рецензируется как код и не требует отдельного сервера. Для открытого проекта или небольшой команды это решающее преимущество: нечего патчить на раннере, не нужно раздавать учётные данные второй системе, а проверки появляются в pull request’е там, где ревьюер уже находится. Платой становятся зависимость от хозяина сервиса и его раннеров, а также модель оплаты, которая делается значимой в приватных репозиториях с тяжёлым использованием. Понимать, где этот компромисс перестаёт быть выгодным, — то же суждение, что и для любого хостингового сервиса.

Что в этом треке

  1. Рабочие процессы, триггеры и задачи (06-cloud-devops/15-github-actions/01-workflows-triggers-and-jobs) — структура файла и то, что заставляет его выполняться.
  2. Кэширование, секреты и развёртывания (06-cloud-devops/15-github-actions/02-caching-secrets-and-deployments) — как сделать прогоны быстрыми, сберечь учётные данные и отличить проверку от релиза.

Предварительные требования

Что читать дальше

  • CI/CD (06-cloud-devops/08-ci-cd) — общая практика, которую реализует этот сервис, поэтому читайте первым.
  • GitHub (01-cs-fundamentals/23-github) — pull request’ы и проверки, в которые отчитывается этот конвейер.
  • Jenkins (06-cloud-devops/16-jenkins) — самостоятельно размещённая альтернатива и цена вопроса: что даёт хостинг и чего он стоит.