Compute Services

Bluemix Node.js Buildpack v3.0 — Node v4 is now default, caching support updated and more!

Share this post:

The IBM SDK for Node.js Buildpack v3.0 is released and live on Bluemix! Following a major set of changes that were released on the Cloud Foundry community Node.js buildpack in late 2015, we are fully synchronized again.  In addition to community changes, there have been changes to certain defaults, optimizations to reduce staging time and updates to the App Management feature.

Note: The legacy Node.js buildpack v2.8 will be available on Bluemix for a short time (~4 weeks) and can be specified using the CF CLI:

cf push app_name <strong>-b sdk-for-nodejs_v2_8-20151209-1403</strong>

Or in your manifest.yml:
buildpack: <strong>sdk-for-nodejs_v2_8-20151209-1403</strong>

The v3beta buildpack which allowed users to try out the new buildpack has been replaced and is no longer available on Bluemix.

Buildpack Updates

Changes to defaults

  • Node.js v4.2.4  (IBM SDK for Node.js Version 4) is now the default runtime on Bluemix, replacing v0.12.9. This may cause your application to behave differently if you have not specified a particular version for your application. To learn how to specify a version of Node.js for your Bluemix application, check out Creating Apps with SDK for Node.js on our docs.
  • NODE_ENV is now set to production by default.
    • This will cause some node dependencies to behave differently.  For example, the Express framework will no longer return stacktraces in the web browser for faulty endpoints, but instead just display “Internal Server Error”.
    • When NPM_CONFIG_PRODUCTION is set to true, NPM sets NODE_ENV to production for subshell scripts in the npm install phase only. This allows users to set NODE_ENV to another value like development for application runtime.  For clarity, npm scripts will see NODE_ENV=production.

Caching updates

  • If cache is disabled (NODE_MODULES_CACHE=false) the buildpack will not attempt to cache any modules/components. Previously this setting made it so that the cache is not popped, but it would still cache the installed modules for future deploys.  Now it will neither pop the cache nor attempt to store any cache.
  • bower_components is cached by default in addition to node_modules.

Other updates

  • Helpful warnings for missing dependencies like gulp, bower, and angular.
  • Updated detect script with buildpack version information.
  • Clustering recommendation (WEB_CONCURRENCY) initially introduced by community is removed as memory determination was inaccurate on Bluemix.
  • StrongPM handler in App Management Framework now works for 0.10.x and 4.x, in addition to 0.12.x. Learn more on our App Management docs.
  • Various bug fixes with Monitoring and Analytics, App Management feature, and more.

Developer Advocate

More stories
May 3, 2019

Kubernetes Tutorials: 5 Ways to Get You Building Fast

Ready to start working with Kubernetes? Want to build your Kubernetes skills? The five tutorials in this post will teach you everything you need to know about how to manage your containerized apps with Kubernetes.

Continue reading

May 3, 2019

Using Portworx to Deploy and Manage an HA MySQL Cluster on IBM Cloud Kubernetes Service

This tutorial is a walkthrough of the steps involved in deploying and managing a highly available MySQL cluster on IBM Cloud Kubernetes Service.

Continue reading

May 2, 2019

Kubernetes v1.14.1 Now Available in IBM Cloud Kubernetes Service

We are excited to announce the availability of Kubernetes v1.14.1 for your clusters that are running in IBM Cloud Kubernetes Service. IBM Cloud Kubernetes Service continues to be the first public managed Kubernetes service to support the latest upstream versions from the community.

Continue reading