Ключевые концепции
Тема дорожной карты · GitHub Actions
GitHub Actions строится на иерархии базовых концепций — workflow, jobs, steps, actions, runners и события, — которые в совокупности определяют, как структурируется, запускается и выполняется автоматизация CI/CD-пайплайна. Workflow — YAML-файл в .github/workflows/, прослушивающий одно или несколько событий-триггеров, указанных в ключе on: (например, push, pull_request или schedule), и оркестрирующий один или несколько jobs: в ответ. Каждый job выполняется на выделенном runner, задаваемом через runs-on: (например, ubuntu-latest), и содержит последовательность steps, выполняющих shell-команды через run: или повторно используемые actions через uses: — например, uses: actions/checkout@v4. Actions — атомарные, версионированные единицы автоматизации, составляющие основу GitHub Actions Marketplace. Их можно создавать в виде JavaScript-, Docker- или composite-actions, каждый описывается файлом метаданных action.yml. Понимание того, как события распространяются по цепочке workflow → job → step → action и как контексты вида ${{ github.ref }}, ${{ secrets.TOKEN }} и ${{ needs.build.outputs.version }} передают данные между этапами пайплайна, — это концептуальная основа, необходимая для проектирования сложных workflow непрерывной интеграции и доставки в GitHub Actions.
Как это работает
Ключевые концепции — встроенная CI/CD-платформа GitHub. Workflows — YAML-файлы в .github/workflows/; каждый определяет jobs, запускающиеся на триггерах (push, PR, schedule, manual). Jobs гоняются на GitHub-hosted runners (Ubuntu, Windows, macOS) или self-hosted. В marketplace тысячи предустановленных actions. Концепции: workflow → jobs → steps → actions/run-команды. Каждый запуск workflow изолирован — checkout репо + свежая ФС.
Когда применять
GitHub Actions — для любого GitHub-hosted проекта: zero setup, бесплатно для публичных репо, щедрая квота для private. GitLab CI / Jenkins / TeamCity — для не-GitHub-forge. Для чистых пайплайнов Actions покрывает 90% нужд. Для сложной deploy-оркестрации в паре с Argo CD / Flux / своим CD-тулом. Branch protection с обязательной проверкой Actions до merge.
Типичные ошибки
Ловушки Ключевые концепции: бесплатная квота кончается + сборки внезапно стоят денег (трекьте usage); GHA из блогов без понимания триггеров (запуск на каждый fork PR = вектор abuse); third-party actions по тегу вместо SHA (malicious retag тега крадёт секреты); долгие jobs упираются в 6-часовой лимит (делите или self-hosted).