vigour-sentinel
v1.3.2
Published
Continuos Testing & Delivery Agent for vigour projects
Downloads
62
Keywords
Readme
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
ornpm 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 atsentinel.branches
onpakcage.json
file
3. Deploying
- Sentinel deploy distribution files to a specific github branch (
dist-BRANCH
) - Sentinel will unignore build files in
.gitignore
file that matchbuild.*
pattern. It can be configure as an array onpackage.json
file atsentinel.unignore
Configuring your project
First, you need to know whether your repository is private or public because Travis has different URL locations for them.
- private repos: https://magnum.travis-ci.com
- public repos: https://travis-ci.org
- 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" #all the versions you want to be tested
branches:
only:
- master #all the branches that will trigger travis
- develop
- staging
before_install:
- npm install -g gaston #as we use gaston to test we need to install it beforehand
- npm install -g vigour-sentinel #required
script:
- sentinel #required
after_failure:
- sentinel --notify-fail #required
sudo: required
services:
- docker