It seamlessly takes care of version, build, package, deployment, scaling and management of the application. A developer can just focus on the code and not worry about the nightmares of release and deployment. This is the screenshot of how this deployment would look like.
This is the activity and log page which shows the events log at the PaaS system being used for the application
A.) Heroku Account
1.) Create a free account at https://id.heroku.com/login without using a credit card.
B.) Heroku publish a nodsjs application
1.) Setup Heroku toolbelt in order to access the Heroku PaaS interface. This is the client that shall be used for any communication and interaction with the Heroku system. 2.) Get some NodeJs application that would be deployed on Heroku. $ git clone https://github.com/vishwakarmarhl/ngboilerplate-heroku.git 3.) Create a heroku app and make sure there is no nested subfolder structure hiding the app.js, package.json, Procfile files in your code.
$ heroku create --app ngbp-rhl Creating ngbp-rhl... done, stack is cedar http://ngbp-rhl.herokuapp.com/ | email@example.com:ngbp-rhl.git $ heroku config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-nodejs#diet -a ngbp-rhl Setting config vars and restarting ngbp-rhl... done, v5 BUILDPACK_URL: https://github.com/heroku/heroku-buildpack-nodejs#diet
4.) Push the repository to heroku for deployment $ git push heroku master Fetching repository, done. Counting objects: 5, done. Delta compression using up to 8 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 522 bytes | 0 bytes/s, done. Total 4 (delta 1), reused 0 (delta 0) -----> Node.js app detected
PRO TIP: Specify a node version in package.json See https://devcenter.heroku.com/articles/nodejs-support -----> Defaulting to latest stable node: 0.10.32 -----> Downloading and installing node -----> Exporting config vars to environment -----> Installing dependencies -----> Cleaning up node-gyp and npm artifacts -----> Building runtime environment -----> Discovering process types Procfile declares types -> web -----> Compressing... done, 5.5MB -----> Launching... done, v4
http://ngbp-rhl.herokuapp.com/ deployed to Heroku
To firstname.lastname@example.org:ngbp-rhl.git c47ec59..2298a1a master -> master
5.) Scale and manage the application using the Personal App in web console $ heroku ps:scale web=1 Scaling dynos... done, now running web at 1:1X. $ heroku open $ heroku logs --tail
6.) Now finally not all of us would like to push our apps in the blackhole and wait for it to crash before debugging. Here is foreman that can help you initialize the app locally and test it out. Foreman comes as a heroku toolkit bundle. $ foreman start web 18:56:31 web.1 | started with pid 13824 18:56:31 web.1 | Listening on 5000
This is just a glimpse of the simplified workflow followed in order to bring up a nodejs application on heroku. Hoever the dependencies are to be managed by the application and verified for successful deployment based on the log and management console.