Introduction to continuous integration 2014

21
Introduction to Continuous Integration How I Learned to Stop Worrying and Love the Bugs

description

 

Transcript of Introduction to continuous integration 2014

Page 1: Introduction to continuous integration 2014

Introduction to Continuous Integration

How I Learned to Stop Worrying and Love the Bugs

Page 2: Introduction to continuous integration 2014

2007: Linked Senior

Page 3: Introduction to continuous integration 2014

RELEASE EARLY,

RELEASEOFTEN

Page 4: Introduction to continuous integration 2014
Page 5: Introduction to continuous integration 2014

Super Star Developer

Page 6: Introduction to continuous integration 2014

Stressful Releases

Page 7: Introduction to continuous integration 2014

Sudden Clarity

Page 8: Introduction to continuous integration 2014

Deployment Pipeline

GitLib Repo

1. Clean 2. Checkout 3. Download libs 4. Compile

5. Package 6. Setup DB 7. Run Tests 8. Deploy

Local Web Server

Local DB Server

Page 9: Introduction to continuous integration 2014

$ compile *.*

$ zip myapp.zip

$ scp_upload myapp.zip

Step 1: Automate Build

Page 10: Introduction to continuous integration 2014

Step 2: Automate Tests

create_user(username, password)

user = login(username, password)

assert user != null

Page 11: Introduction to continuous integration 2014

Less Stressful Releases

Page 12: Introduction to continuous integration 2014

1. Before demo/release2. When we have time3. Every week4. Every day5. Other

When should we run tests?

1. Before demo/release2. When we have time3. Every week4. Every day5. Other: every time you commit

Page 13: Introduction to continuous integration 2014

Step 3: CI Server

GitLib Repo

1. Clean 2. Checkout 3. Download libs 4. Compile

5. Package 6. Setup DB 7. Run Tests 8. Deploy

Local Web Server

Local DB Server

Page 14: Introduction to continuous integration 2014

3.Email report

CI ServerBuild, run, test

1. Clean 2. Checkout3. Download

libs4. Compile

5. Package 6. Push 7. Setup DB8. Run Tests

2.Committrigger

Git

1.CommitStep 3: CI Server

Page 15: Introduction to continuous integration 2014

Jenkins Demo!

Page 16: Introduction to continuous integration 2014

$ sudo apt-get install jenkins

$ sudo /etc/init.d/jenkins start

Page 17: Introduction to continuous integration 2014

TESTRUNBUILD

Page 18: Introduction to continuous integration 2014

Quality

Speed

Innovation

Page 19: Introduction to continuous integration 2014

MOVE FAST

AND

BREAK THINGS