What's check-build, why I built it at Bringr/Redsmin and how we use it everyday inside our continuous integration workflow.
Check-build: https://github.com/FGRibreau/check-build
4. BringrCo-founder Founder
“I’m the co-founder (CTO) of Bringr and the founder (C[E|T]O) of Redsmin.
Some month back, our team grew in size.”
5. Bringr
A B FC D E G
“At Bringr & Redsmin we work a lot at creating micro-services (SOA),
so each of the new time member was given micro-services to build.”
7. conventions
&
principles
“... and I had to do it at every code-review, each-time.
Sometimes — it happened — I would not even respect my own conventions...”
8. When you ask developers
to follow coding conventions
9. Try to make the human out of the loop
“... so I came across this principle...”
10. Don't rely on principle,
rely on automation.
“... that I rewrote”
22. {
"checkbuild": {
"enable": ["jshint", "jscs", "jsinspect", "nsp", "david"],
// don't exit immediately if one of the tools reports an error (default true)
"continueOnError": true,
// don't exit(1) even if we had some failures (default false)
"allowFailures": false
},
"jshint": {
"args": ["src/**/*.js"]
},
"jscs": {
...
}
.checkbuild
.jshintrc
“Check-build does not reinvent the wheel,
it leverages existing stuff in a declarative way”
24. Jenkins
A
B
F
C
D
E
G
Tests
Tests
Tests
Tests
Tests
Tests
Tests
npm i check-build -g && check-build
npm i check-build -g && check-build
npm i check-build -g && check-build
npm i check-build -g && check-build
npm i check-build -g && check-build
npm i check-build -g && check-build
npm i check-build -g && check-build
“Check-build removes high coupling between the CI & projects
and between projects and quality tools.
Always install the latest version, we make sure check-build
will always be backward compatible”
25. ./scripts/ci-start
@weekly
hook
Run tests
(unit & integration)
./scripts/ci-publish
Zero downtime
deploy
Jenkins
&
git push
“By building automatically daily/weekly, check-build can ensure that our projects are
secure* and up-to-date, even if we don’t push new code”
27. “ Administrate everything, monitor in real-time.
Visualizing and editing Redis data-structures has never been so simple. ”
Founder of Redsmin redsmin.com
28. BringrCofounder & CTO of
“ Create value for your business on Social Media,
from discussion to conversion ”
Professor @EPSI_Nantes & @UnivNantes on JavaScript (RIA/NodeJS), Design Patterns and NoSQL databases
bringr.net