GitHub Actions
Что это такое
GitHub Actions — система автоматизации, встроенная в GitHub. Рабочий процесс — это файл в репозитории, описывающий, что должно произойти при некоем событии: push, pull request, расписание, — и платформа выполняет его на предоставленной ею машине. Тот же механизм покрывает непрерывную интеграцию, релизы, плановое обслуживание и рутинные работы, поэтому это часто первый конвейер, который берёт в руки команда.
Почему это важно
Конвейер живёт рядом с кодом, рецензируется как код и не требует отдельного сервера. Для открытого проекта или небольшой команды это решающее преимущество: нечего патчить на раннере, не нужно раздавать учётные данные второй системе, а проверки появляются в pull request’е там, где ревьюер уже находится. Платой становятся зависимость от хозяина сервиса и его раннеров, а также модель оплаты, которая делается значимой в приватных репозиториях с тяжёлым использованием. Понимать, где этот компромисс перестаёт быть выгодным, — то же суждение, что и для любого хостингового сервиса.
Что в этом треке
- Рабочие процессы, триггеры и задачи (06-cloud-devops/15-github-actions/01-workflows-triggers-and-jobs) — структура файла и то, что заставляет его выполняться.
- Кэширование, секреты и развёртывания (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)
Что читать дальше
- CI/CD (06-cloud-devops/08-ci-cd) — общая практика, которую реализует этот сервис, поэтому читайте первым.
- GitHub (01-cs-fundamentals/23-github) — pull request’ы и проверки, в которые отчитывается этот конвейер.
- Jenkins (06-cloud-devops/16-jenkins) — самостоятельно размещённая альтернатива и цена вопроса: что даёт хостинг и чего он стоит.