Continuous Integration
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!