Basic Web project with ExpressJS on NodeJS
The Web basic starter contains an unopinionated set of files for web serving:
public/index.html
public/js/bundle.js
public/css/default.css
- Install the latest NodeJS 6+ LTS version.
- Install Docker on your machine.
- Install the Bluemix CLI
- Install the plugin with:
bx plugin install dev -r bluemix
IBM Bluemix DevOps services provides toolchains as a set of tool integrations that support development, deployment, and operations tasks inside Bluemix. The "Create Toolchain" button creates a DevOps toolchain and acts as a single-click deploy to Bluemix including provisioning all required services.
*Note you must publish your project to Github for this to work.
The project contains Bluemix specific files that are used to deploy the application as part of a Bluemix DevOps flow. The .bluemix
directory contains files used to define the Bluemix toolchain and pipeline for your application. The manifest.yml
file specifies the name of your application in Bluemix, the timeout value during deployment, and which services to bind to.
Service credentials are taken from the VCAP_SERVICES environment variable if running Bluemix Cloud Foundry, from individual environment variables per service if running on Bluemix Container Service (see ./server/config/mappings.json), or from a config file if running locally, named./server/config/localdev-config.js
.
The Bluemix development plugin makes it easy to compile and run your application if you do not have all of the tools installed on your computer yet. Your application will be compiled with Docker containers. To compile and run your app, run:
bash
bx dev build
bx dev run
Your application is running at: http://localhost:3000/
in your browser.
- Health endpoint:
/appmetrics-dash
You may see this warning when running bx dev run
:
Warning: connect.session() MemoryStore is not
designed for a production environment, as it will leak
memory, and will not scale past a single process.
When deploying to production, it is best practice to configure sessions to be stored in an external persistence service.