A tool to make + deploy node apps as self contained tarballs to Heroku
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
lib
test
.editorconfig
.gitignore
.jshintrc
README.md
circle.yml
main.js
package.json

README.md

haikro

A tool to make, deploy, scale and destroy node/iojs apps as self contained tarballs to Heroku. Read the explainer on my blog.

Installation

npm install --save haikro

I currently recommend installing haikro as a devDependency and you need not run npm prune --production as Haikro will effectively do this internally.

Usage

Example Makefile:-

app := my-deployable-app

deploy:
	# Clean+install dependencies
	git clean -fxd
	npm install

	# Build steps
	sass styles.scss public/styles.css
	
	# Package+deploy
	@haikro build
	@haikro deploy --app $(app) --commit `git rev-parse HEAD`

Example Procfile:-

web: server/app.js

Example .travis.yml

script:
- npm test
language: node_js
node_js:
- '0.10'
after_success:
- test $TRAVIS_PULL_REQUEST == "false" && test $TRAVIS_BRANCH == "master" && make deploy

Example of package.json

{
  "name": "My app",
  "version": "1.0.0",
  "engines": {
    "node": "0.10.x"
  }
}

If you want to use iojs just change your package.json's engines to:-

{
  "name": "My app",
  "version": "1.0.0",
  "engines": {
    "iojs": "^1.0.3"
  }
}

CLI Options

  • --app - Heroku app name
  • --commit - free text used to identify a release

e.g. haikro deploy --app my-exciting-app

Licence

This software is published by the Financial Times under the MIT licence.