GitHub Actions¶
«Пока не скажем, не стрелять. И не сходите с Тропы. Не сходите с Тропы!».
Рэй Брэдбери, «И грянул гром».
GitHub Actions — часть CI/CD процесса, позволяющая автоматизировать последовательности рутинных действий при обновлении репозитария на GitHub. К таким действиям можно, в частности, отнести:
- проверку правильности оформления кода линтером;
- проверку правописания;
- сборка проекта;
- проведение тестов;
- перенос новых файлов на продакшн-сервер.
GitHub Actions позволяет настроить последовательность действий так, что при непрохождении очередного шага (например, при неверном форматировании кода или при ошибке в прохождении тестов) разработчик не сможет запушить свой коммит.
Для запуска запланированных вами действий GitHub временно создает виртуальную машину под управлением выбранной вами операционной системы.
Основные концепции GitHub Actions — workflow, jobs, steps, actions (экшены), переменные, контексты и секреты.
Workflow — поток выполнения задач; в репозитории может быть несколько workflow, каждый из которых выполняет отдельную большую задачу, например тестирование или развёртывания проекта. Согласно принципу единственной ответственности (SRP, буква S в SOLID), имеет смысл разбивать всё множество операций CI/CD процесса на отдельные сущности (применительно к GitHub Actions — на отдельные workflow), в изменении которых заинтересована только одна группа лиц. Соответственно, workflow процесса тестирования и workflow деплоя могут быть созданы разными специалистами из разных отделов.
Job — задача внутри workflow. Часто используют непереведенное значение — джоб.
Steps — элементарные шаги, последовательно выполняемые внутри джоба.
Экшены — готовые модули, написанные другими пользователями для решения типовых задач. К таким задачам относятся, например, линтеры или модули поиска уязвимостей.
codifycamera.com © Авторские права CC BY-NC-SA 4.0 2024 — ∞ Михаил Емельянов, war4one@gmail.com