Buildpacks були вперше задумані Heroku у 2011 році. З того часу вони були прийняті Cloud Foundry та іншими PaaS, такими як Google App Engine, Gitlab, Knative, Deis, Dokku та Drie.
Пакет збірки є зазвичай відповідає за мовний компонент, інструментарій або компонент програми; наприклад Python, pip або веб-сервер. Пакети збірок згруповані в колекції, які називаються збірниками, які можуть аналізувати вихідний код проекту, створювати план збирання та генерувати образ контейнера, готовий до розгортання.
Пакети збірок складаються з набору сценаріїв, і залежно від мови програмування, сценарії отримуватимуть залежності, виводитимуть згенеровані активи або скомпільований код тощо. Цей вихід компілюється у слаг компілятором. Підтримка Heroku для Ruby, Python, Java, Clojure, Node.
Пакети збірок Heroku визначте процес побудови програми, а також які активи та час виконання мають бути доступні для вашого коду під час виконання. Якщо ваші складні програми працюють кількома мовами, ви також можете використовувати кілька пакетів збірки в одній програмі.
Переваги Cloud Native Buildpacks
- Висока портативність: Cloud Native базується на форматі контейнера з відкритим кодом. …
- Відтворюваність: Buildpacks можуть копіювати образ програми, виконуючи збірку повторно.
- Розширене кешування: розширене кешування підвищує продуктивність Buildpack.
Cloud Native Buildpacks охоплюють сучасні стандарти контейнерів, такі як формат зображення OCI. Вони використовують новітні можливості цих стандартів, як-от крос-репозиторійне монтування блобів і "перебазування" рівня зображення в реєстрах Docker API v2.