← Cloudflare Workers / workers / ci-cd / builds
Образ сборки
Workers Builds использует образ сборки с поддержкой множества языков и инструментов, таких как Node.js, Python, PHP, Ruby и Go.
Поддерживаемые инструменты
Workers Builds поддерживает множество сред выполнения, языков и инструментов. По умолчанию сборки используют версии, указанные ниже, если не обнаружена или не задана другая версия. Вы можете переопределить версии по умолчанию с помощью переменных окружения или файлов версий. Все версии можно переопределить.
Runtime
| Инструмент | Версия по умолчанию | Переменная окружения | Файл |
|---|---|---|---|
| Go | 1.24.3 | GO_VERSION |
|
| Node.js | 24.18.0 | NODE_VERSION |
.nvmrc, .node-version |
| Python | 3.13.3 | PYTHON_VERSION |
.python-version, runtime.txt |
| Ruby | 3.4.4 | RUBY_VERSION |
.ruby-version |
В образе для сборки предустановлены Node.js 22.23.2 и 24.18.0.
Инструменты и языки
| Инструмент | Версия по умолчанию | Переменная окружения |
|---|---|---|
| Bun | 1.2.15 | BUN_VERSION |
| Hugo | extended_0.147.7 | HUGO_VERSION |
| npm | 10.9.2 | |
| yarn | 4.9.1 | YARN_VERSION |
| pnpm | 10.11.1 | PNPM_VERSION |
| pip | 25.1.1 | |
| gem | 3.6.9 | |
| poetry | 2.1.3 | |
| pipx | 1.7.1 | |
| бандлер | 2.6.9 |
Дополнительные настройки
Переопределение версий по умолчанию
Если вам нужно переопределить конкретная версия языка или инструмента внутри образа, вы можете указать её как переменная окружения сборки, либо задайте соответствующий файл в исходном коде, как показано выше.
Чтобы задать версию через переменные окружения сборки, можно:
- Найдите имя переменной окружения для нужного языка или инструмента и версии (например,
NODE_VERSION = 22) - Добавьте и сохраните переменную окружения в дашборде, перейдя в Настройки > Build > Переменные и секреты сборки в вашем проекте Workers
Или, чтобы задать версию, добавив файл в проект, можно:
- Найдите имя файла для нужного языка или инструмента (например,
.nvmrc) - Добавьте файл с указанным именем в корневой каталог и укажите нужный номер версии в качестве содержимого файла. Например, если номер версии 22, файл должен содержать '22'.
Пропустить установку зависимостей
Можно добавить следующую переменную сборки, чтобы отключить автоматическую установку зависимостей и вместо этого выполнить собственную команду установки.
| Переменная сборки | Значение |
|---|---|
SKIP_DEPENDENCY_INSTALL |
1 или true |
Предустановленные пакеты
В следующей таблице перечислены предустановленные пакеты в образе сборки. Пакеты устанавливаются с помощью apt, менеджер пакетов для дистрибутивов Linux.
curl |
libbz2-dev |
libreadline-dev |
git |
libc++1 |
libssl-dev |
git-lfs |
libdb-dev |
libvips-dev |
unzip |
libgdbm-dev |
libyaml-dev |
autoconf |
libgdbm6 |
tzdata |
build-essential |
libgbm1 |
wget |
bzip2 |
libgmp-dev |
zlib1g-dev |
gnupg |
liblzma-dev |
zstd |
libffi-dev |
libncurses5-dev |
Окружение сборки
Сборки Workers Builds выполняются в следующей среде:
| Окружение сборки | Ubuntu 24.04 |
| Архитектура | x86_64 |
Политика образа сборки
Обновления предустановленного ПО
Предустановленное ПО (языки и инструменты) будет обновляться до достижения конца срока поддержки (EOL). Эти обновления применяются, только если вы не версия по умолчанию переопределена.
- Обновления минорных версий: Может обновляться до последней доступной минорной версии без предупреждения. Для инструментов, не следующих семантическому версионированию (например, Bun или Hugo), об обновлениях, которые могут содержать критические изменения, будет сообщено за 3 месяца.
- Обновления мажорных версий: Обновляется до следующей стабильной версии с долгосрочной поддержкой (LTS) с уведомлением за 3 месяца.
Как вы будете уведомлены (для изменений, требующих уведомления):
- Cloudflare Changelog ↗
- Уведомления Dashboard для проектов, которые получат обновление
- Уведомления по электронной почте владельцам проекта
Чтобы сохранить определённую версию и избежать автоматических обновлений, переопределить версию по умолчанию.
Лучшие практики
Чтобы избежать неожиданных сбоев сборки:
- Отслеживайте объявления через Cloudflare Changelog ↗, уведомления в дашборде и электронную почту
- Закрепить конкретные версии критически важного предустановленного ПО с помощью переопределение версий по умолчанию