Giter VIP home page Giter VIP logo

nodejs-buildpack's Introduction

CloudFoundry build pack: Node.js

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 CloundFoundry.org.

Usage

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

Disconnected environments

To use this buildpack on Cloud Foundry, where the Cloud Foundry instance limits some or all internet activity, please read the Disconnected Environments documentation.

Vendoring app dependencies

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.

Additional extensions

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.

Building

  1. Make sure you have fetched submodules
git submodule update --init
  1. Get latest buildpack dependencies
BUNDLE_GEMFILE=cf.Gemfile bundle
  1. Build the buildpack
BUNDLE_GEMFILE=cf.Gemfile bundle exec buildpack-packager [ cached | uncached ]
  1. 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

Contributing

Run the tests

See the Machete CF buildpack test framework for more information.

Pull Requests

  1. Fork the project
  2. Submit a pull request

Updating nodejs versions

The buildpacks supports disconnected environments, which means semver.io cannot be reached for node version resolution. If a new version of node is added to the manifest.yml it must be added to files/versions.json.

NOTE: If it happens to be the latest stable release, update the stable key in files/versions.json.

Reporting Issues

Open an issue on this project

Active Development

The project backlog is on Pivotal Tracker

nodejs-buildpack's People

Contributors

zeke avatar ddollar avatar hunterloftis avatar crawsible avatar btubbs avatar styeung avatar rwonly avatar squeedee avatar rykov avatar jordi-pivotal avatar aramprice avatar timshadel avatar buddhistpirate avatar hone avatar ryanbrainard avatar pmuellr avatar flavorjones avatar mmcgrana avatar lackac avatar jclem avatar kuba-kubula avatar jacobwgillespie avatar dzuelke avatar davidjrice avatar cleishm avatar zbuc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.