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