Skitflow

Тип сборки

Узнайте о различных типах сборки, доступных в Skitflow, включая Nixpacks, Dockerfile и Buildpack.

Skitflow предлагает три различных типа сборки для развертывания приложений, каждый из которых подходит для разных потребностей и предпочтений разработки.

Nixpacks

Это тип сборки по умолчанию в Skitflow. При выборе Nixpacks Skitflow собирает ваше приложение как Nixpack, что оптимизировано для простоты использования и эффективности.

Nixpacks предоставляет множество переменных для настройки через переменные окружения. Все эти переменные имеют префикс NIXPACKS_, их можно определить во вкладке Environment Variables.

ПеременнаяОписание
NIXPACKS_INSTALL_CMDПереопределить команду установки
NIXPACKS_BUILD_CMDПереопределить команду сборки
NIXPACKS_START_CMDПереопределить команду запуска контейнера
NIXPACKS_PKGSДобавить дополнительные Nix-пакеты
NIXPACKS_APT_PKGSДобавить дополнительные Apt-пакеты (через запятую)
NIXPACKS_LIBSДобавить дополнительные Nix-библиотеки
NIXPACKS_INSTALL_CACHE_DIRSДобавить дополнительные директории для кэширования на этапе установки
NIXPACKS_BUILD_CACHE_DIRSДобавить дополнительные директории для кэширования на этапе сборки
NIXPACKS_NO_CACHEОтключить кэширование для сборки
NIXPACKS_CONFIG_FILEРасположение файла конфигурации Nixpacks относительно корня приложения
NIXPACKS_DEBIANВключить базовый образ Debian, используется для поддержки OpenSSL 1.1

Если вам нужно больше контроля над процессом Nixpacks, вы можете создать файл nixpacks.toml в корне вашего приложения — подробнее читайте здесь: Nixpacks Configuration.

Nixpacks поддерживает монорепозитории, такие как NX Monorepo, Turborepo, Moon Repo — подробнее об этом здесь.

Подробнее о Nixpacks можно прочитать здесь.

Поскольку Nixpacks имеет статический сборщик, Skitflow предоставляет поле Publish Directory, где вы можете указать директорию, которую хотите опубликовать после завершения процесса сборки, например:

Приложения Astro после сборки обычно создают директорию dist, поэтому вы можете указать директорию dist как директорию публикации, и тогда Skitflow скопирует все файлы из директории dist в корень вашего приложения и использует оптимизированный Dockerfile NGINX для запуска вашего приложения.

Railpack (НОВИНКА)

Railpack — это новый оптимизированный тип сборки, являющийся преемником Nixpacks.

Railpack предоставляет множество переменных сборки, которые можно определить во вкладке Environment Variables.

ИмяОписание
BUILD_CMDУстановить команду для этапа сборки. Перезаписывает все команды, предоставленные провайдерами
START_CMDУстановить команду для запуска контейнера
PACKAGESУстановить дополнительные пакеты Mise. Формат: pkg@version. Если версия не указана, используется последняя
BUILD_APT_PACKAGESУстановить дополнительные Apt-пакеты во время сборки
DEPLOY_APT_PACKAGESУстановить дополнительные Apt-пакеты в финальный образ

Подробнее о Railpack можно прочитать здесь.

Railpack поддерживает Nodejs, Python, Go, PHP, Go, StaticFile, Shell Scripts.

Dockerfile

Если ваш проект содержит Dockerfile, вы можете указать путь к нему. Skitflow использует этот Dockerfile для сборки вашего приложения напрямую, предоставляя вам полный контроль над средой сборки и зависимостями.

Skitflow предоставляет 3 поля для настройки:

  • Dockerfile Path (Required): Путь к Dockerfile для сборки приложения. Например, если ваш Dockerfile находится в корне приложения, достаточно указать Dockerfile.
  • Docker Context Path: Место расположения Dockerfile. Например, если ваш Dockerfile в корне приложения, укажите . (точку) — это указывает Docker, какой контекст использовать для сборки. Подробнее: Dockerfile Context.
  • Docker Build Stage: Этап сборки для использования. Например, если вы хотите использовать этап builder, укажите builder. Подробнее о этапах сборки здесь.

Buildpack

Skitflow поддерживает два типа Buildpack:

  • Heroku: Адаптированы из популярной облачной платформы Heroku, эти buildpack-и предназначены для совместимости и простоты миграции. Вы можете опционально указать версию Heroku — по умолчанию Skitflow использует версию 24.
  • Paketo: Предоставляет облачные buildpack-и, использующие современные стандарты и практики для сборки приложений.

Выбирая подходящий тип сборки, вы можете адаптировать процесс развертывания под требования вашего приложения и операционные предпочтения.

Static

Тип сборки Static используется для обслуживания статических приложений — он использует оптимизированный Dockerfile NGINX для запуска вашего приложения.

Skitflow копирует всё из директории Root и монтирует в директорию /usr/share/nginx/html, используя оптимизированный Dockerfile NGINX для запуска вашего приложения.

Убедитесь, что при создании домена используется порт 80.

Рекомендации

  • Для прототипирования и разработки мы рекомендуем использовать тип сборки Nixpacks.
  • Для продакшена мы рекомендуем следовать Руководству по продакшену для надежного развертывания.
  • Для статических приложений мы рекомендуем использовать тип сборки Static.

On this page