A Cloud Foundry buildpack for Node based apps.
This is based on the [Heroku buildpack] (https://github.com/heroku/heroku-buildpack-nodejs).
Additional documentation can be found at the CloudFoundry.org.
This buildpack will get used if you have a package.json
file in your project's root directory.
cf push my_app -b https://github.com/cloudfoundry/buildpack-nodejs.git
To use this buildpack on Cloud Foundry, where the Cloud Foundry instance limits some or all internet activity, please read the Disconnected Environments documentation.
As stated in the Disconnected Environments documentation, your application must 'vendor' it's dependencies.
For the NodeJS buildpack, use npm
:
cd <your app dir>
npm install # vendors into /node_modules
cf push
uploads your vendored dependencies.
In cached mode, use the semver node_module (as opposed to http://semver.io) to resolve the correct node version. The semver.io service has an additional preference for stable versions not present in the node module version. We wrap the node module using lib/version_resolver.js to add back this functionality.
- Make sure you have fetched submodules
git submodule update --init
- Get latest buildpack dependencies
BUNDLE_GEMFILE=cf.Gemfile bundle
- Build the buildpack
BUNDLE_GEMFILE=cf.Gemfile bundle exec buildpack-packager [ cached | uncached ]
- Use in Cloud Foundry
Upload the buildpack to your Cloud Foundry and optionally specify it by name
cf create-buildpack custom_node_buildpack node_buildpack-offline-custom.zip 1
cf push my_app -b custom_node_buildpack
The NodeJS buildpack only supports the two most recent stable patches for each dependency in the manifest.yml.
If you want to use previously supported dependency versions, provide the --use-custom-manifest=manifest-including-unsupported.yml
option to buildpack-packager
.
Set engines.node in package.json to the semver range (or specific version) of node you'd like to use. (It's a good idea to make this the same version you use during development)
"engines": {
"node": "0.11.x"
}
"engines": {
"node": "0.10.33"
}
Find our guidelines here.
Open an issue on this project
The project backlog is on Pivotal Tracker