on: триггеры
Тема дорожной карты · GitHub Actions
Ключ on: в конфигурационном файле GitHub Actions определяет события, которые могут запустить workflow. Это могут быть события, связанные с активностью репозитория, такие как push, pull_request, release, или события, запланированные заранее или вызванные вручную через workflow_dispatch. Указание события можно сделать в виде строки, списка событий или сложной карты, которая фильтрует триггер по веткам, тегам, путям или типам событий. Такой подход позволяет с точностью контролировать момент запуска workflow.
Использование нескольких триггеров on в одном workflow позволяет одной и той же автоматизации реагировать на различные события, такие как push, ревью pull request и плановые запуски, без необходимости дублирования шагов. Это не только упрощает управление workflow, но и повышает их эффективность и гибкость. Выбор правильного триггера on: является ключевым моментом для каждого CI/CD-пайплайна GitHub Actions, так как он определяет события, которые запускают workflow, контекст полезной нагрузки и права доступа GITHUB_TOKEN по умолчанию, которые получает runner.
Как это работает
Ключ on: в конфигурационном файле GitHub Actions объявляет события, которые могут запустить workflow. Это могут быть события, связанные с активностью репозитория, такие как push, pull_request, release, или события, запланированные заранее или вызванные вручную через workflow_dispatch. Ключ on может содержать карту, которая фильтрует триггер по веткам, тегам, путям или типам событий. Это позволяет с точностью контролировать момент запуска workflow.
Каждый workflow может содержать несколько триггеров on, что позволяет одной и той же автоматизации реагировать на различные события, такие как push, ревью pull request и плановые запуски, без необходимости дублирования шагов. Это не только упрощает управление workflow, но и повышает их эффективность и гибкость. Выбор правильного триггера on: является ключевым моментом для каждого CI/CD-пайплайна GitHub Actions, так как он определяет события, которые запускают workflow, контекст полезной нагрузки и права доступа GITHUB_TOKEN по умолчанию, которые получает runner.
Когда применять
Ключ on: в конфигурационном файле GitHub Actions используется для определения событий, которые могут запустить workflow. Это могут быть события, связанные с активностью репозитория, такие как push, pull_request, release, или события, запланированные заранее или вызванные вручную через workflow_dispatch. Ключ on может содержать карту, которая фильтрует триггер по веткам, тегам, путям или типам событий. Это позволяет с точностью контролировать момент запуска workflow.
Каждый workflow может содержать несколько триггеров on, что позволяет одной и той же автоматизации реагировать на различные события, такие как push, ревью pull request и плановые запуски, без необходимости дублирования шагов. Это не только упрощает управление workflow, но и повышает их эффективность и гибкость. Выбор правильного триггера on: является ключевым моментом для каждого CI/CD-пайплайна GitHub Actions, так как он определяет события, которые запускают workflow, контекст полезной нагрузки и права доступа GITHUB_TOKEN по умолчанию, которые получает runner.
Типичные ошибки
Ключевые ошибки при использовании триггеров on: включают неправильное форматирование YAML (что может привести к непреднамеренному прекращению работы workflow), использование pull_request_target без полного понимания безопасности (что может привести к запуску против базовой ветки с секретами — частый вектор атаки), и создание огромных блоков env на уровне workflow (что лучше заменить более узкими блоками на уровне job или step). Также стоит избегать логирования секретов в выражениях ${{ }} (используйте ::add-mask:: или секретный префикс).