Sentinel
Sentinel is a cli tool that facilitates testing, building and deploying of Vigour.io projects into Travis workflow. It also notifies about failed and success results on the following integrations:
- Slack ( just that for now :) )
Concepts
1. Testing
- Sentinel runs
npm test
script and get it's exit code result to know how many tests have failed. - If your
npm install
or npm test
script executes any other third party tool, make sure that this returns the correct exit code. That way we can send the correct notification and travis can set the correct build result (passing or failing).
Exit Codes: > 0 means failure; = 0 means success
2. Building
- Sentinel will run
npm build
script since the project is configured to do at sentinel.branches
on pakcage.json
file
3. Deploying
- Sentinel deploy distribution files to a specific github branch (
dist-BRANCH
) - Sentinel will unignore build files in
.gitignore
file that match build.*
pattern. It can be configure as an array on package.json
file at sentinel.unignore
Configuring your project
First, you need to know whether your repository is private or public because Travis has different URL locations for them.
- Access one of the URLs above
- Login with github, don't forget to give permissions to organization level
- Select your repository in your account settings inside Travis.
- Go to the repository settings in Travis and provide
SENTINEL_SLACK_WEBHOOK
environment variable. IMPORTANT! this must be set as private/hidden/sensitive. - create a
.travis.yml
file with the following configuration:
language: node_js
node_js:
- "5.0.0"
branches:
only:
- master
- develop
- staging
before_install:
- npm install -g gaston
- npm install -g vigour-sentinel
script:
- sentinel
after_failure:
- sentinel --notify-fail
sudo: required
services:
- docker