Deploy Atomically with Travis & npm


I think I am a software developer because I am lazy.

The second or third time I have to perform the same exact task, I find myself saying, “Ugh, can’t I tell the computer how to do it?” 

So imagine my reaction when our team’s deployment process started looking like this:

  1. git pull
  2. npm run build to create the minified packages
  3. git commit -am "Create Distribution" && git push
  4. Navigate to GitHub
  5. Create a new release

I was thinking steps 1–3 are easy enough to put in a shell script and steps 4–5 are probably scriptable, but is that all? What else needs to be done?

  • The version in package.json was never getting updated and it would be nice to have that in synch with the GitHub release.
  • Can this script be run after the CI build without having to task a human to manually run it?