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. It's a Bitbucket alternative to Review Apps for GitHub and GitLab.
const express = require('express');
const app = express();
require('deploify')(app, {
webhook_endpoint: "/webhook/bitbucket",
bitbucket_user: "foo",
bitbucket_email: "[email protected]",
bitbucket_password: ""*******",
bitbucket_key: "...",
bitbucket_secret: "...",
heroku_user: "[email protected]",
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 |
Go to your repository page, then follow Settings
-> Workflow
-> Webhooks
-> Add webhook
. Create a webhook choosing from the list of triggers the following events of the Pull Request
: Created
, Updated
, Merged
and Declined
.
- Better error handling
- Test coverage
- Manual deployment
- GitLab integration
- Support to more hosting providers