Deploify

This module allows to create a temporary staging enviroment on Heroku for each of a repository pull request on Bitbucket, leveraging your Heroku account and Bitbucket webhooks.

1. Setup the module to work with your Express server

const express = require('express'); const app = express(); require('deploify')(app, { webhook_endpoint: "/webhook/bitbucket", bitbucket_user: "foo", bitbucket_email: "foo@bar.com", bitbucket_password: ""*******", bitbucket_key: "...", bitbucket_secret: "...", heroku_user: "foo@bar.com", heroku_password: "*******", domain_prefix: "fooqapreview-", branch_regex: /^qa-(.*)/, env_vars: { QA: "true" } });

Param Type Description app function Express instance config Object Configuration object config.webhook_endpoint string Endpoint for Bitbucket's webhook (e.g.: /webhooks/bitbucket ) config.bitbucket_user string Bitbucket username config.bitbucket_password string Bitbucket password config.bitbucket_email string Bitbucket email config.bitbucket_key string Bitbucket OAuth key config.bitbucket_secret string Bitbucket OAuth secret config.heroku_user string Heroku username (email) config.heroku_password string Heroku password config.domain_prefix string Domain prefix for apps (e.g.: qapreview- will result in domains like qapreview-435.herokuapp.com ) config.branch_regex RegExp Regex to match in branch names (apps will be created only for matched branches) config.env_vars Object Environment variables to be attached to Heroku apps

2. Create the webhook on the Bitbucket repository of your choice