Continuous Integration

From Bitpost wiki
Revision as of 21:53, 11 October 2015 by M (talk | contribs)

Goals:

  • on code save: automatically build
  • on code commit: automatically build, do any custom build steps, run any unit tests, run any end-to-end tests, and report results dynamically
  • on app production release: compile artifacts, assist in automatic versioning

Tools:

  • git
    • use a centralized bare repository as the origin target for all the client development environments; master will be the workhorse branch
    • git hooks, especially post-receive on the server, which triggers when a new push arrives from any client; this is the entry point for CI server builds
  • Node.js
    • this allows us to write cross-platform CI scripts in a language that is fundamental to web development
    • Node.js bolts on many important cross-platform functions; it is also fundamentally asynchronous

That is all. And away we go!