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
4
votes
1 answer

How to use custom settings.xml with GitLab-CI Auto DevOps?

I'm using GitLab CI Auto DevOps to compile a project based on Maven based in a DinD (docker-in-docker) runner. CI job start, and buildpack for Maven is correctly detected (based on herokuish). How can I configure a custom settings.xml file without…
gavioto
  • 1,695
  • 2
  • 17
  • 38
4
votes
1 answer

Configuring a single page Create-React-App on Heroku

With Firebase Hosting, when you deploy an app you are asked whether to rewrite all urls to /index.html. This means react-router routes would be properly fired whether they are accessed directly or navigated to from the homepage. We use…
Guy
  • 12,488
  • 16
  • 79
  • 119
4
votes
3 answers

Accessing the java executable from a cloudfoundry task command (cf run-task)

I need the java executable to run a java -jar from a cloudfoundry task command. Here is how I try to run the task: cf run-task bignibou-batch "java -jar bignibou-batch/build/libs/bignibou-batch.jar" Here is the error message I…
balteo
  • 23,602
  • 63
  • 219
  • 412
4
votes
0 answers

How can I use OpenCV for Python in a Heroku app?

I've been trying to find buildpacks online so that I can use my Python application that requires OpenCV on Heroku. I haven't had any luck so far, since all of the sources I've read are old. Can anybody lead me in the right direction? How would I go…
4
votes
2 answers

Heroku Golang - command 'main' not found

I got a Go API up on Heroku to which I push some code; in my procfile I have the following web: main In order to launch the Go built binary on Heroku's side. When I build it on my side with go build cmd/main.go It produces a binary file namned…
Entalpi
  • 2,005
  • 22
  • 33
4
votes
1 answer

can't find gem bundler (>= 0) (Gem::GemNotFoundException) on heroku

When I run heroku run bundle install it gives me an error /usr/lib/ruby/1.9.1/rubygems.rb:308:in `bin_path': can't find gem bundler (>= 0) (Gem::GemNotFoundException) from /app/bin/bundle:3:in `
' and when I am heroku run rails console it…
haseeb ahmad
  • 41
  • 1
  • 3
4
votes
1 answer

Run knex migration during heroku buildpack

I'm using the meteor buildpack to deploy my meteor app. I would like to be able to run a migration with knex at the end of the buildpack installation. I forked the buildpack to add a shell script in the extra directory (as mentioned in the README)…
Jean Lebrument
  • 5,079
  • 8
  • 33
  • 67
4
votes
1 answer

How to get Heroku to detect GO buildpack

In attempting to deploy my own GO app using git push heroku master I get the error Push rejected, failed to detect set buildpack heroku/go Because the error is quite specific about failure to detect a buildpack I tried manually setting it with the…
Adrian
  • 41
  • 2
4
votes
1 answer

Heroku conda-buildpack bulilds with extra mkl package

I was trying to deploy a new version of my app to Heroku with conda-buildpack for numpy and scipy. However, an extra mkl-11.3.1 was downloaded and installed which is 121.2 MB. Fetching package metadata: .... Solving package specifications:…
4
votes
0 answers

'Cannot find proj_api.h header' when deploying proj4rb on heroku using custom buildpacks

Problem I'm trying to install the ruby gem proj4rb on heroku, which requires the proj_api header files of the PROJ.4 C library. Pushing to heroku, I get the following error (only relevant lines shown): Gem::Ext::BuildError: ERROR: Failed to…
Nicola
  • 41
  • 3
4
votes
2 answers

Deploying an existing docker image with Deis

I already have a build server that I generate a docker image for an application with and then put it into cloud storage. This is not an image that can be publicly shared on the docker index. How can I run this application docker image in deis? Deis…
Greg Weber
  • 3,228
  • 4
  • 21
  • 22
4
votes
1 answer

My custom heroku python buildpack downloads requirements on every push

I forked the default python buildpack and added a few lines which basically add the phantonjs and casperjs executables to my environment. Code here: https://github.com/tapanpandita/heroku-buildpack-python .The changes I made are minimal (from line…
tapan
  • 1,776
  • 2
  • 18
  • 31
4
votes
2 answers

Why changing heroku buildpack for existing app doesn't run bin/release

I had a php app on heroku with the default buildpack (apache), and then decided to change it to the php-fpm + nginx buildpack (https://github.com/iphoting/heroku-buildpack-php-tyler/). I issued the change command: heroku config:set…
Oren Solomianik
  • 385
  • 3
  • 8
3
votes
1 answer

Buildpacks + SpringBoot: Port and configuration issues for Docker image

Small question regarding migrating building Docker images from Dockerfile to BuildPacks for a SpringBoot project. I have a very straightforward SpringBoot application I need to containerize. In order to do so, I have a very straightforward…
PatPanda
  • 3,644
  • 9
  • 58
  • 154
3
votes
1 answer

OpenVino Import Error: undefined symbol: _ZTVN15InferenceEngine5TBlobIhSt9enable_ifILb1EvEEE

Getting an import error with OpenVino in deployment. Have tried specifying all the previous versions of OpenVino in the requirments.txt file in case the issue has to do with versions. Exact error is: File…
Tekame1
  • 153
  • 4