Top Banner
Ratchet up your CI IAN GRUNERT SENIOR DEVELOPER ATLASSIAN @IANGRUNERT
34
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AtlasCamp 2015: Ratchet up your CI

Ratchet up your CI

IAN GRUNERT • SENIOR DEVELOPER • ATLASSIAN • @IANGRUNERT

Page 2: AtlasCamp 2015: Ratchet up your CI

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

Page 3: AtlasCamp 2015: Ratchet up your CI

Static analysis is criminally underused

Page 4: AtlasCamp 2015: Ratchet up your CI
Page 5: AtlasCamp 2015: Ratchet up your CI

Introducing static analysis is hard

Page 6: AtlasCamp 2015: Ratchet up your CI

JSHint warnings Any warnings?

Success!

Fail!

Page 7: AtlasCamp 2015: Ratchet up your CI

Confluence currently has

948JSHint warnings in the editor

alone

Page 8: AtlasCamp 2015: Ratchet up your CI

Chip away at the problem

Page 9: AtlasCamp 2015: Ratchet up your CI

Team inadvertently works against you

Page 10: AtlasCamp 2015: Ratchet up your CI

"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

Page 11: AtlasCamp 2015: Ratchet up your CI

Performance regressions are

often small

Page 12: AtlasCamp 2015: Ratchet up your CI

7%

9%

22%

Page Weight By Plugin

Page 13: AtlasCamp 2015: Ratchet up your CI

Regressions get lost in the error bars

Page 14: AtlasCamp 2015: Ratchet up your CI

0

6

12

18

24

Q1 Q2 Q3 Q4

(Example) Performance over time

Page 15: AtlasCamp 2015: Ratchet up your CI

Performance baselining is too

manual

Page 16: AtlasCamp 2015: Ratchet up your CI

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

Page 17: AtlasCamp 2015: Ratchet up your CI
Page 18: AtlasCamp 2015: Ratchet up your CI

A tool to ratchet measures

Page 19: AtlasCamp 2015: Ratchet up your CI

Measure input git ratchet

Success!

git repo

Fail!

Page 20: AtlasCamp 2015: Ratchet up your CI

No need for a storage server

Page 21: AtlasCamp 2015: Ratchet up your CI

Data with your code in git-notes

Page 22: AtlasCamp 2015: Ratchet up your CI
Page 23: AtlasCamp 2015: Ratchet up your CI

/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

Page 24: AtlasCamp 2015: Ratchet up your CI

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

/2c/58802de…

Note

Page 25: AtlasCamp 2015: Ratchet up your CI

Full history of data over time

Page 26: AtlasCamp 2015: Ratchet up your CI
Page 27: AtlasCamp 2015: Ratchet up your CI

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

Page 28: AtlasCamp 2015: Ratchet up your CI

JSHint warnings git ratchet

Success!

git repo

Fail!

Page 29: AtlasCamp 2015: Ratchet up your CI
Page 30: AtlasCamp 2015: Ratchet up your CI

Convert CSV git ratchet

Success!

git repo

Fail!

Page Weight

Page 31: AtlasCamp 2015: Ratchet up your CI

Excuses!

Page 32: AtlasCamp 2015: Ratchet up your CI

Lots of possibilities!

Page 33: AtlasCamp 2015: Ratchet up your CI

gitratchet.org

IAN GRUNERT • SENIOR DEVELOPER • ATLASSIAN • @IANGRUNERT

Page 34: AtlasCamp 2015: Ratchet up your CI

Ratchet up your CI

Submit your feedback: go.atlassian.com/acratchetci