Skip to content

matthew-andrews/haikro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.