herokupipelines4travis v3.0.8
Heroku Pipelines for Travis CI
Initial setup
Create application and configure pipeline on Heroku.
To initiate project follow commands:
npm install herokupipelines4travis lodash --save-dev
$(npm bin)/hp4t setup
Package _lodash is optional - install it if you want to use it in infrastructure/
._
You can edit files:
.travis.yml
- Travis CI configuration fileinfrastructure/
- directory with infrastructure configurationbase.js
- base configurationstage.js
- stage environment configurationproduction.js
- production environment configuration
Convention
For simplify usage you should define:
alias hp4t="$(npm bin)/hp4t"
Setup commands
hp4t setup
- initialise projecthp4t export app_name [heroku_api_key]
- export existing Heroku application configration
Commands for Travis CI
hp4t init
- initialise runtime environmenthp4t provision environment_name
- provision Heroku apphp4t pipeline
- setup Heroku pipelinehp4t deploy app_name
- deploy code to Heroku apphp4t run app_name "command with params"
- run command on Heroku application (useful for database migration)hp4t promote app_name
- promote existing application to next environmenthp4t package output-file.tgz
- build a tarball (tgz) with dependencies for Npm based projectshp4t deploy-tarball app_name file.tgz
- deploy tarball file to a Heroku aplication
Read more
Example Travis configuration file
.travis.yml
---
language: node_js
node_js: stable
env:
global:
# ========== Heroku Pipelines for Travis =========
# HEROKU_API_KEY
- secure: "..."
- HP4T_HEROKU_APPNAME_STAGE=hp4t-test-stage
- HP4T_HEROKU_APPNAME_PRODUCTION=hp4t-test
cache:
directories:
- node_modules
install:
- npm install
script:
- npm test
- npm lint
deploy:
- provider: script
skip_cleanup: true
script: make deploy
on:
branch: master
after_success:
- hp4t notify-rollbar
Makefile
deploy:
hp4t init
hp4t package build.tgz
hp4t pipeline
hp4t provision stage
hp4t deploy-tarball build.tgz ${HP4T_HEROKU_APPNAME_STAGE}
hp4t run ${HP4T_HEROKU_APPNAME_STAGE} "npm run migrate-database"
hp4t provision production
hp4t promote ${HP4T_HEROKU_APPNAME_STAGE}
hp4t run ${HP4T_HEROKU_APPNAME_PRODUCTION} "npm run migrate-database"
Please remember to use one tab indent in Makefile
.
6 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago