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.

355 questions
29
votes
7 answers

Why does Heroku fail to detect Node.js buildpack?

I git cloned a Node.js application (the version specified in the package.json being 4.1.2 and that of my local machine being 6.2.2) and tried to git push on Heroku. But it failed to build and gave this error: Failed to detect set buildpack…
Shree
  • 483
  • 1
  • 5
  • 8
21
votes
3 answers

How can I flush the Heroku buildpack CACHE_DIR?

During development of our Python/Django application, we accidentally introduced package requirements in requirements.txt that installed conflicting versions of a library. Heroku has cached the broken requirements in the CACHE_DIR specified by the…
Andrew Gorcester
  • 18,351
  • 6
  • 49
  • 67
19
votes
2 answers

Installing custom builds heroku and issue with Library paths

I'm attempting to install a custom build on heroku, so I'm using a variety of ways to attempt a third part installing using the buildpacks. In my .buildpacks file I…
disruptive
  • 4,659
  • 10
  • 56
  • 106
15
votes
4 answers

Heroku: unable to connect to chromedriver 127.0.0.1:9515 when using Watir/Selenium

This runs locally (without specifying driver_path), but not on Heroku. Code: Selenium::WebDriver::Chrome.driver_path = ENV['GOOGLE_CHROME_SHIM'] browser = Watir::Browser.new :chrome I've confirmed below values in heroku rails…
tim_xyz
  • 7,219
  • 13
  • 40
  • 77
15
votes
3 answers

python buildpack - fatal error: sasl/sasl.h: No such file or directory

I get the following error installing sasl in my Bluemix app: Installing collected packages: sasl, thrift-sasl Running setup.py install for sasl: started Running setup.py install for sasl: finished with status 'error' …
Chris Snow
  • 20,818
  • 29
  • 115
  • 263
13
votes
1 answer

Spring Boot 2.3.0 buildpack builds image with creation date 40 years ago

I've tried to use buildpack in a maven project with Spring Boot 2.3.0 running: mvn spring-boot:build-image Image was created just fine, but I see the following info for it: REPOSITORY TAG IMAGE…
Aleksandr Erokhin
  • 1,605
  • 3
  • 13
  • 29
11
votes
3 answers

Heroku and slug size bloat

I'm starting to hit a wall with my Heroku app. I'm well aware of the normal issues with slug size, re: images, PDFs, and other materials but my problem likely revolves around other assets brought in by bower or possibly build…
ere
  • 1,689
  • 1
  • 19
  • 39
10
votes
2 answers

Can Selenium and Chrome buildpack installs be cached on HerokuCI?

I've just started using HerokuCI. I have a few Selenium tests so I've added buildpacks in my app.json. { "buildpacks": [ { "url": "heroku/ruby" } ], "environments": { "test": { "addons": ["heroku-postgresql:in-dyno",…
Schwern
  • 127,817
  • 21
  • 150
  • 290
10
votes
1 answer

How can I setup and deploy a database with Deis (PaaS)

I'm trying to setup a database with Deis. I know this is possible, but there doesn't seem to be any documentation about how to do it other than setting an ENV variable.How could I setup say a MongoDB or Cassandra docker container and then deploy…
Cameron A. Ellis
  • 3,643
  • 8
  • 36
  • 46
10
votes
3 answers

Have you managed to make your node nginx proxy setup on Heroku work?

Have you managed to make your node + nginx proxy setup on Heroku work? Could you, please, tell me how have your organized the directories structure and the files in each directory before doing "git push heroku master"? Which buildpack did you use? I…
T900M
  • 129
  • 2
  • 5
9
votes
3 answers

How do I uninstall this buildpack in Heroku?

I installed heroku-buildpack-php-tyler on my Heroku app a few days ago, and it all seemed to work fine. I installed it by running the following command: heroku config:set…
Tom Oakley
  • 5,218
  • 7
  • 37
  • 64
9
votes
1 answer

"Push rejected, failed to compile Multipack app" when deploying heroku-buildpack-nodejs and heroku-buildpack-ruby-minimal

I'm using heroku-buildpack-multi: BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git I'm trying to deploy with two buildpacks and am getting the following error: Fetching repository, done. Counting objects: 6, done. Delta…
Brian Takita
  • 1,535
  • 1
  • 14
  • 18
9
votes
5 answers

Heroku and OpenCV with Python

I'm trying to install OpenCV on Heroku so my Python web app can use OpenCV. How can I go about doing this? Thanks!
Jason Brooks
  • 5,632
  • 6
  • 33
  • 47
8
votes
1 answer

Selenium & Heroku: urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

Setup: selenium: 3.141.0 python: 3.6.7 heroku-stack: heroku-18 headless-chrome: v71.0.3578.80 buildpack installed chromedriver: v2.44.609551 buildpack installed I'm getting this error when using selenium in…
madtyn
  • 1,129
  • 20
  • 43
8
votes
1 answer

How to have package.json not at top level of heroku app

I have this app that deploys to heroku: https://github.com/justin808/react-webpack-rails-tutorial http://react-webpack-rails-tutorial.herokuapp.com/ The technique is described here:…
justingordon
  • 11,553
  • 9
  • 64
  • 111
1
2 3
23 24