Представляем Vercel CI

Источник: Vercel•

Представляем Vercel CI

Vercel CI находится в стадии бета-тестирования. Система запускает только те проверки, на которые влияет ваше изменение, на вычислительных ресурсах, масштабируемых под конкретный пуш, используя уже имеющуюся у вас конфигурацию Turborepo.

ИИ-ассистенты для написания кода создают больше пулл-реквестов, чем когда-либо, и каждый из них ожидает завершения CI, прежде чем кто-либо сможет провести ревью или выполнить слияние. Большинство CI-систем запускают весь рабочий процесс при каждом пуше, даже если было сделано изменение всего в одну строку. Чем чаще ваши ассистенты отправляют код, тем больше времени вы тратите на ожидание CI.

Сегодня мы объявляем о запуске Vercel CI в режиме бета-тестирования. Система выполняет только те задачи, на которые влияет изменение вашего кода, и задействует ровно столько вычислительных ресурсов, сколько необходимо для этих проверок, точно так же, как Fluid compute масштабируется в зависимости от вашего трафика.

В Vercel наш собственный CI теперь успевает за нашими ИИ-ассистентами. Время от команды git push до сообщения «CI пройден» сократилось в 2–6 раз по сравнению с прошлым.

Copy link to headingКак это работает

Vercel CI использует Turborepo, чтобы понимать ваши задачи и то, как они зависят друг от друга. Система читает файл turbo.json, поэтому, если вы уже используете Turborepo, вам не нужно писать отдельную конфигурацию для CI.

Если вы еще не используете Turborepo, добавьте turbo.json и пакет turbo. Это работает и в репозиториях с одним пакетом.

Затем пометьте тегами задачи, которые должен выполнять Vercel CI.

turbo.json

"tasks": {

"lint": {

"tags": ["ci"]

"tags": ["ci"] — это все, что нужно для начала работы. Никаких файлов конфигурации YAML для поддержки, никакого рассинхронизаций между конфигурацией CI и turbo.json, а Remote Cache включен по умолчанию.

Когда вы или ваш ИИ-ассистент отправляете код, Vercel CI определяет, какие задачи необходимо выполнить на основе внесенных изменений. Задачи, входные данные которых не изменились, загружаются из кэша. Оставшиеся задачи выполняются каждая на своей собственной машине на базе Hive, вычислительного уровня Vercel, и запускаются сразу после завершения их зависимостей.

Vercel CI выделяет каждой задаче ровно столько вычислительных ресурсов, сколько ей необходимо, и ничего лишнего.

Copy link to headingЗапуск вашего CI на Vercel

Чтобы начать работу, следуйте документации или дайте указание своему ИИ-ассистенту из репозитория:

После настройки вы или ваш ИИ-ассистент сможете отслеживать и проверять работу CI через панель управления Vercel, Vercel CLI или Vercel MCP. Если что-то идет не так, перейдите прямо к упавшей задаче, посмотрите, что заблокировано за ней, откройте ее логи или выполните поиск по недавним запускам, чтобы узнать, не был ли тест нестабильным всю неделю.

Terminal

vc ci ls # Список запусков CI для репозитория

vc ci inspect <run> # Список задач для запуска

vc ci logs <run> # Получить логи для всех задач в рамках запуска

vc ci logs <run> --task web#test --level=error # Получить stderr для конкретной задачи

vc ci grep "WARNING" # Поиск строки в логах запусков

Vercel CI публикует статус проверки в вашем пулл-реквесте на GitHub, поэтому ваши существующие правила защиты веток могут блокировать слияния в случае сбоя точно так же, как они это делают сегодня.

Copy link to headingЗамкнуть цикл

Vercel CI уже выполнил почти 8 миллионов задач в наших собственных репозиториях и в рамках закрытого бета-тестирования, и мы только начинаем. Мы работаем над тем, чтобы продолжать сокращать время между написанием кода и его запуск в продакшене.

По мере приближения к общедоступному релизу (GA) мы планируем добавить:

  • Продвинутая наблюдаемость

Продвинутая наблюдаемость

  • Команда vc ci CLI для распределенного выполнения перед отправкой кода

Команда vc ci CLI для распределенного выполнения перед отправкой кода

  • Более детальный выбор тестов

Более детальный выбор тестов

Vercel CI доступен в бета-версии уже сегодня на всех тарифных планах. Прочитайте документацию и попробуйте его в своем репозитории.

О чём эта статья