Как пользоваться: Генератор GitHub Actions
- Выберите стек и ветки, на которых должен запускаться workflow.
- Настройте триггеры: push, pull request, ручной запуск, теги версий или расписание.
- Выберите шаги и версии для тестирования, а также при необходимости цель деплоя.
- Сохраните YAML как
.github/workflows/ci.yml, добавьте нужные секреты в Settings → Secrets and variables → Actions и выполните push.
Структура workflow
| Ключ | Назначение |
|---|---|
on | События, которые запускают workflow: push, pull_request, schedule, workflow_dispatch |
permissions | Что может делать автоматический GITHUB_TOKEN — указывайте минимально необходимые права |
concurrency | Отменяет устаревшие запуски для той же ветки |
jobs.<id>.runs-on | Раннер, например ubuntu-latest |
strategy.matrix | Запускает задачу отдельно для каждой версии |
steps | uses: — действие, или run: — команда оболочки |
Используемые действия
Генератор фиксирует официальные действия на актуальных мажорных версиях: actions/checkout@v4, actions/setup-node@v4, actions/setup-python@v5, actions/setup-go@v5, actions/cache@v4, actions/upload-pages-artifact@v3, actions/deploy-pages@v4 и docker/build-push-action@v6 от Docker. Для максимальной безопасности цепочки поставок закрепляйте сторонние действия на полном SHA коммита.
Секреты и переменные окружения
Никогда не коммитьте токены. Храните их как секреты репозитория и читайте через ${{ secrets.NAME }}. Список необходимых переменных ведите в .env.example и проверяйте локальные файлы с помощью валидатора .env файлов. Расписания используют cron-синтаксис в UTC — составьте выражение с помощью генератора cron-выражений.
Убедитесь, что в вашем package.json есть скрипты lint, test и build. Для контейнеризированных приложений понадобится файл Docker Compose. Если GitHub сообщает об ошибке синтаксиса, проверьте YAML с помощью конвертера YAML в JSON.
Также ищут как: github actions workflow, github actions node, github actions yaml, ci cd pipeline, деплой github pages action, docker build push action, github actions cron, workflow_dispatch.
Инструменты, которые хорошо сочетаются с Генератор GitHub Actions
- GitLab CI генератор — Выберите стек и получите рабочий .gitlab-ci.yml: установка с кешированием, джобы линтинга и тестов, сборка с артефактами, Docker-образ, который отправляется в реестр GitLab, или деплой в GitLab Pages.
- Генератор .gitignore — Отметьте свой стек — Node, Python, React, Next.js, Docker, macOS, VS Code и ещё 40 вариантов — и получите один аккуратный .gitignore без дубликатов, с комментариями по разделам, готовый к скачиванию.
- Валидатор YAML — Вставьте файл Docker Compose, манифест Kubernetes, workflow GitHub Actions или любой YAML, чтобы найти ошибку, поймать типичные ловушки и получить аккуратно отформатированную версию.
- Генератор YAML для Kubernetes — Укажите имя приложения, образ и порт, и вы получите готовый к продакшену YAML для Kubernetes: Deployment с пробами, лимитами ресурсов и защищённым security context, а также выбранные вами Service, Ingress с TLS, ConfigMap, Secret и HorizontalPodAutoscaler — всё в одном файле, готовом для kubectl apply.
Часто задаваемые вопросы
Где сохранить файл workflow?
.github/workflows/ вашего репозитория, например .github/workflows/ci.yml. GitHub подхватит его при следующем push.Как выполнить деплой на GitHub Pages?
Почему мой запланированный workflow запускается не по расписанию?
Чем npm ci отличается от npm install?
npm ci устанавливает ровно те версии, что указаны в package-lock.json, завершается с ошибкой, если они не совпадают с package.json, и работает быстрее — это идеальный вариант для CI.