Adding Buildpacks to Cloud Foundry

Page last updated: August 20, 2015

If your application uses a language or framework that Cloud Foundry system buildpacks do not support, you can write your own buildpack, customize an existing buildpack, or use a Cloud Foundry Community Buildpack or a Heroku Third-Party Buildpack. You can add the new buildpack to Cloud Foundry, making it available alongside the system buildpacks.

The cf Admin-Only Buildpack Commands

Note: You must be an administrator for your Cloud Foundry org to run the commands discussed in this section.

To add a buildpack, run:

$ cf create-buildpack BUILDPACK PATH POSITION [--enable|--disable]

The arguments to cf create-buildpack do the following:

  • buildpack specifies what you want to call the buildpack.

  • path specifies where to find the buildpack. The path can point to a zip file, the URL of a zip file, or a local directory.

  • position specifies where to place the buildpack in the detection priority list. See Buildpack Detection.

  • enable or disable specifies whether to allow apps to be pushed with the buildpack. This argument is optional, and defaults to enable. While a buildpack is disabled, app developers cannot push apps using that buildpack.

You can also update and delete buildpacks. For more information, run:

cf update-buildpack -h

cf delete-buildpack -h

Confirming that a Buildpack was Added

To confirm that you have successfully added a buildpack, view the available buildpacks by running cf buildpacks.

The example below shows the cf buildpacks output after the administrator added a python buildpack.

$ cf buildpacks
Getting buildpacks...

buildpack          position   enabled   locked   filename
ruby_buildpack     1          true      false    buildpack_ruby_v46-245-g2fc4ad8.zip
nodejs_buildpack   2          true      false    buildpack_nodejs_v8-177-g2b0a5cf.zip
java_buildpack     3          true      false    buildpack_java_v2.1.zip
python_buildpack   4          true      false    buildpack_python_v2.7.6.zip

Disabling Custom Buildpacks from Ops Manager