Как пользоваться: GitLab CI генератор
- Выберите стек — Node.js, Python, Go, Docker-образ или статический сайт на GitLab Pages — и укажите версию.
- Отметьте нужные джобы: lint, test, build, покрытие. Оставьте правила для merge request, чтобы тестировать каждый MR.
- При желании добавьте джобу deploy на сервер по SSH или в Pages, с ручным подтверждением, если нужно.
- Сохраните файл как
.gitlab-ci.ymlв корне репозитория — пайплайн запустится при следующем пуше.
Как устроен пайплайн
- workflow:rules запускают пайплайн для merge request и для пушей в основную ветку, а при открытом MR пропускают дублирующий пайплайн ветки.
- cache привязан к файлу блокировки (
package-lock.json,pnpm-lock.yaml,requirements.txt,go.sum), поэтому зависимости устанавливаются быстро, а кеш обновляется при их изменении. - artifacts передают результат сборки следующим джобам и сохраняют отчёты о тестах и покрытии, которые GitLab показывает в merge request.
- interruptible: true вместе с «auto-cancel redundant pipelines» останавливает устаревшие пайплайны, когда вы отправляете новые коммиты.
Секреты
Никогда не храните пароли и ключи в YAML. Добавляйте их в Settings → CI/CD → Variables (с маскировкой и защитой) — джоба деплоя ожидает там SSH_PRIVATE_KEY и SSH_KNOWN_HOSTS. Джоба Docker использует встроенные переменные GitLab CI_REGISTRY, поэтому дополнительная настройка не нужна.
Используете GitHub? Попробуйте GitHub Actions генератор. Также могут пригодиться: Dockerfile генератор, YAML валидатор.
Также ищут как: генератор gitlab-ci.yml, пример gitlab ci yml, генератор gitlab pipeline, gitlab ci node, gitlab ci docker build, gitlab pages ci.
Инструменты, которые хорошо сочетаются с GitLab CI генератор
- Валидатор GitHub Actions — Вставьте workflow из .github/workflows и найдите ошибки до того, как их найдёт CI: неверные триггеры, отсутствующий runs-on, сломанный needs, некорректные выражения, устаревшие экшены и риски внедрения скриптов.
- Генератор Docker Compose — Отметьте нужные сервисы — приложение, базу данных, кеш, панель администратора, перехватчик почты — и получите аккуратный compose.yaml с закреплёнными версиями образов, именованными томами, healthcheck и условиями depends_on, а также подходящий .env со сгенерированными паролями.
- Генератор YAML для Kubernetes — Укажите имя приложения, образ и порт, и вы получите готовый к продакшену YAML для Kubernetes: Deployment с пробами, лимитами ресурсов и защищённым security context, а также выбранные вами Service, Ingress с TLS, ConfigMap, Secret и HorizontalPodAutoscaler — всё в одном файле, готовом для kubectl apply.
- Генератор systemd service — Запускайте приложение как полноценный сервис Linux, который стартует при загрузке и перезапускается после сбоя.