AtlasCamp 2015: Ratchet up your CI

34
Ratchet up your CI IAN GRUNERT SENIOR DEVELOPER ATLASSIAN @IANGRUNERT

Transcript of AtlasCamp 2015: Ratchet up your CI

Ratchet up your CI

IAN GRUNERT • SENIOR DEVELOPER • ATLASSIAN • @IANGRUNERT

G I T R AT C H E T

P R O B L E M S

Ratchet up your CI

E X A M P L E S

Static analysis is criminally underused

Introducing static analysis is hard

JSHint warnings Any warnings?

Success!

Fail!

Confluence currently has

948JSHint warnings in the editor

alone

Chip away at the problem

Team inadvertently works against you

"Syzyfki (Sisyphers) Wroclaw dwarf 01" by Pnapora - Own work. Licensed under CC BY-SA 3.0 via Wikimedia Commons http://commons.wikimedia.org/wiki/File:Syzyfki_(Sisyphers)_Wroclaw_dwarf_01.JPG#/media/File:Syzyfki_(Sisyphers)_Wroclaw_dwarf_01.JPG

Performance regressions are

often small

7%

9%

22%

Page Weight By Plugin

Regressions get lost in the error bars

0

6

12

18

24

Q1 Q2 Q3 Q4

(Example) Performance over time

Performance baselining is too

manual

G I T R AT C H E T

P R O B L E M S

Ratchet up your CI

E X A M P L E S

A tool to ratchet measures

Measure input git ratchet

Success!

git repo

Fail!

No need for a storage server

Data with your code in git-notes

/refs/heads/master

README.md

# git-ratchetgit-ratchet is a tool for building ratcheted builds. Ratcheted builds are builds that go *red* when a given measure increases.

Tree

/refs/heads/master /refs/notes/git-ratchet

/2c/58802de…

Note

Full history of data over time

G I T R AT C H E T

P R O B L E M S

Ratchet up your CI

E X A M P L E S

JSHint warnings git ratchet

Success!

git repo

Fail!

Convert CSV git ratchet

Success!

git repo

Fail!

Page Weight

Excuses!

Lots of possibilities!

gitratchet.org

IAN GRUNERT • SENIOR DEVELOPER • ATLASSIAN • @IANGRUNERT

Ratchet up your CI

Submit your feedback: go.atlassian.com/acratchetci