Skip to content

flaviolivolsi/deploify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deploify

NPM version

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.

Setup:

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

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.

Webhook creation

Todo

  • Better error handling
  • Test coverage
  • Manual deployment
  • GitLab integration
  • Support to more hosting providers

About

Deploify is a NPM module that creates a temporary stage environment of your web app on Heroku for each of your pull requests.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published