Questions tagged [buildpack]

A buildpack is a unit of work that inspects your application source code and formulates a plan to build and run your application. Use this tag when using buildpacks, like if there's a failure, or if you are developing buildpacks. This can be used for both traditional buildpacks, like on Cloud Foundry or Heroku, or with Cloud Native Buildpacks.

What's a Buildpack?

A buildpack is a unit of work, typically a script or application, that runs against your application source code and produces a runnable artifact.

A buildpack goes through two main phases: detect and build. During the detect phase, the buildpack will determine if it knows how to build your application. If it does, then during the build phase, the buildpack will execute and package your application into a format that can easily be executed.

The net result is that buildpacks will take your application from its raw source code and generate a runnable artifact. Historically, the runnable artifact has been an archive file, but in the latest iteration, called Cloud Native Buildpacks, it produeces an OCI compliant image that can be run with Docker, Kubernetes or anything that supports running OCI images.

History

Buildpacks were first conceived by Heroku in 2011. Since then, they have been adopted by Cloud Foundry and other PaaS such as Google App Engine, Gitlab, Knative, Deis, Dokku, and Drie.

Buildpacks History

The Cloud Native Buildpacks project was initiated by Pivotal and Heroku in January 2018 and joined the Cloud Native Sandbox in October 2018. The project aims to unify the buildpack ecosystems with a platform-to-buildpack contract that is well-defined and that incorporates learnings from maintaining production-grade buildpacks for years at both Pivotal and Heroku.

Cloud Native Buildpacks embrace modern container standards, such as the OCI image format. They take advantage of the latest capabilities of these standards, such as cross-repository blob mounting and image layer "rebasing" on Docker API v2 registries.

472 questions
0
votes
1 answer

Heroku rejects my custom buildpack for ruby-on-rails with latex

I need to add the pipeline source file -> latex -> pdf file to a rails app that I am working on and that is deployed at heroku (http://vschool.herokuapp.com). I've tried following the advice at…
jxxcarlson
  • 223
  • 3
  • 13
0
votes
1 answer

Heroku "Multiple Buildpack" Buildpack not working

My app depends on both nodejs and phantomjs and I follow the trigoman's answer of Is there a working nodejs/phantomjs Heroku buildpack?. But I got stucked as follows: creating young-thicket-8895... done, region is…
Arnold
  • 35
  • 1
  • 6
0
votes
2 answers

On heroku, how to delete files installed by a buildpack that are no longer needed?

I've suddenly started getting slug size errors on deploy: -----> Compiled slug size: 350.4MB is too large (max is 300MB). My app is far too small to be causing this, verified by manually inspecting bundle and assets size. Upon investigation in a…
jordanpg
  • 6,386
  • 4
  • 46
  • 70
0
votes
1 answer

Heroku meteorite buildpack bug, any alternatives?

I've used those buildpacks for the last six months, and never had any issues: https://github.com/oortcloud/heroku-buildpack-meteorite https://github.com/cwaring/heroku-buildpack-meteorite-phantomjs Now I'm getting this error when I'm trying to push…
Kristoffer K
  • 2,053
  • 18
  • 23
0
votes
1 answer

How can I use this heroku php buildpack?

I'm trying to use https://github.com/taeram/heroku-buildpack-php-columbo so that I can have NEW RELIC working on my PHP install. No matter what I try, I always get the following error when pushing to heroku: git push heroku master Counting objects:…
Beta4
  • 91
  • 1
  • 7
0
votes
1 answer

How does one include just the node binary in a python buildpack?

We're running a python app sharing some code between our client and server by having one component being written in node. What is the easiest way to have node installed in a python buildpack ? There is a 3rd party buildpack that I've forked that I'm…
Kartik Ayyar
  • 832
  • 1
  • 7
  • 23
0
votes
2 answers

Why use a buildpack on heroku?

I have run across more and more references to buildpacks for heroku apps. Other then needed a buildpack that is not support by heroku, why define this parameter in the app creation? I have see references to speed increases for NPM using caching.…
d1b1
  • 144
  • 1
  • 5
0
votes
3 answers

Heroku NodeJS + CouchBase Custom Buildpack

I'm trying to put together a custom buildpack with NodeJS and the CouchBase module/libraries I've gotten as far as using Vulcan to build libcouchbase and libvbucket and getting the buildpack to retrieve and unpack the tgz files for both. Everything…
Ali Hamidi
  • 11
  • 3
0
votes
3 answers

heroku buildpack that supports the php imap

I am trying to locate or build a heroku buildpack that supports the php imap functions such as imap_open() Do I really need to recompile php and then store the binary on amazon? The current buildpack I am using is…
0
votes
1 answer

How can you retrieve the currently building revision from within a custom Heroku buildpack?

I have a catalog of builds indexed by git revision stored on s3 by our CI server. Instead of performing a build at deploy time, I would like to just download a pre-built application, unpack it and go. I'm trying to accomplish this with a custom…
Charles Lowell
  • 1,157
  • 8
  • 10
0
votes
1 answer

How do the results of /bin/compile in a Heroku buildpack relate to the slug?

Does anyone know for sure exactly how the bin/compile phase of a buildpack relates to the slug and deployment? Does the entire BUILD_DIR from the compile phase get tgz'd and unpacked at /app?
apinstein
  • 5,105
  • 1
  • 23
  • 22
0
votes
1 answer

How can a Heroku php buildpack compile sass / yuicompress before building?

I have a simple php buildpack (based on this here: https://github.com/lenglead/heroku-buildpack-php) that I want to expand to compile my assets on build. I don't want to include compiled/minified css/js in my repo, but Heroku needs it to exist. My…
mister-f
  • 430
  • 1
  • 4
  • 12
0
votes
0 answers

Heroku PHP Custom Buildpack Gettext Extension

I recently customized the Heroku PHP buildpack: https://github.com/KerryJones/heroku-buildpack-php I added the config variable and whenever I push to Heroku it says it's building. However, gettext is still not working (and doesn't show on a PHPInfo…
Kerry Jones
  • 21,806
  • 12
  • 62
  • 89
0
votes
1 answer

How do I use a PHP Buildpack after creation?

Let me start of with saying I'm very new to Heroku. I've been looking through their documentation and other people's, and I can't seem to find the "starting point" unless I am to recreate the app. I can do that, if necessary, but would rather not. I…
Kerry Jones
  • 21,806
  • 12
  • 62
  • 89
-1
votes
1 answer

What are the strengths and weaknesses of Buildpacks when compared to using plain Dockerfiles, assuming prior experience with Dockerfiles?

I looked into buildpacks a bit, and it seems like nice tool. To me it seems it offers two different things, sort of: magically turn your code repository into a running container, even if you wouldn't know how to do any of that (Heroku style) make…
Janne Mattila
  • 598
  • 7
  • 20
1 2 3
31
32