Why we chose Bash to write our CI scripts at FusionCharts

CI scripts in Bash
at FusionCharts.

Why!?

Avoid abstractions

Know the system
inside out

Handcrafted

Complete control

How we structured the system?

npm test
| - lint
| - build
| - docs
| - verify

Future proof

You need discipline

How we managed?

  • Each script begins with set -e.
  • Followed by a banner.
  • Followed by an ASCII art!
  • Inline comments in markdown, describing every step.
  • Use echo to provide progress reports.

Why Markdown?

  • Take out all the code, leaving the comments.
  • Remove preceding "#" from the beginning of line.
  • The script will be a valid Markdown file, describing a process.

Sounds crazy?

It is great for medium-sized CI projects, till you know what you are doing.

Thanks!