Описание тега buildpack

Пакет сборки - это единица работы, которая проверяет исходный код вашего приложения и формулирует план для сборки и запуска вашего приложения. Используйте этот тег при использовании пакетов сборки, например, в случае сбоя или при разработке пакетов сборки. Это можно использовать как для традиционных сборочных пакетов, таких как Cloud Foundry или Heroku, так и для Cloud Native Buildpacks.

Что такое Buildpack?

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

Сборочный пакет проходит два основных этапа: обнаружение и сборка. На этапе обнаружения пакет сборки определит, знает ли он, как построить ваше приложение. Если это так, то на этапе сборки buildpack выполнит и упакует ваше приложение в формат, который можно легко выполнить.

В конечном итоге пакеты сборки берут ваше приложение из необработанного исходного кода и генерируют работоспособный артефакт. Исторически запускаемый артефакт был файлом архива, но в последней итерации, называемой Cloud Native Buildpacks, он создает образ, совместимый с OCI, который можно запускать с помощью Docker, Kubernetes или чего-либо, что поддерживает запуск образов OCI.

История

Сборочные пакеты были впервые разработаны Heroku в 2011 году. С тех пор они были приняты Cloud Foundry и другими PaaS, такими как Google App Engine, Gitlab, Knative, Deis, Dokku и Drie.

Проект Cloud Native Buildpacks был инициирован Pivotal и Heroku в январе 2018 года и присоединился к Cloud Native Sandbox в октябре 2018 года. Проект направлен на унификацию экосистемы пакетов сборки с помощью четко определенного контракта от платформы к пакету сборки, который включает в себя опыт поддержание сборочных пакетов производственного уровня в течение многих лет как в Pivotal, так и в Heroku.

Cloud Native Buildpacks охватывает современные стандарты контейнеров, такие как формат изображений OCI. Они используют преимущества последних возможностей этих стандартов, таких как монтирование больших двоичных объектов между репозиториями и "перебазирование" уровня образа в реестрах Docker API v2.