Continuous Integration with Jenkins and ANT

31

description

A talk on supposedly CI with Jenkins and ANT but there is nothing in the slides that mention Jenkins or ANT. This was more about the philosophy of CI. I use ANT and Jenkins in the demo to show how it all ties together.

Transcript of Continuous Integration with Jenkins and ANT

Page 1: Continuous Integration with Jenkins and ANT
Page 2: Continuous Integration with Jenkins and ANT

– M A R T I N F O W L E R

“Continuous Integration is a software development practice where members of a team

integrate their work frequently, usually each person integrates at least daily – leading to

multiple integrations per day. !

Each integration is verified by an automated build (including test) to detect integration

errors as quickly as possible.”

Page 3: Continuous Integration with Jenkins and ANT

T Y P I C A L W O R K F L O W

Page 4: Continuous Integration with Jenkins and ANT

T Y P I C A L W O R K F L O W

Page 5: Continuous Integration with Jenkins and ANT

T Y P I C A L W O R K F L O W

Page 6: Continuous Integration with Jenkins and ANT

T Y P I C A L W O R K F L O W

Page 7: Continuous Integration with Jenkins and ANT

T Y P I C A L W O R K F L O W

Page 8: Continuous Integration with Jenkins and ANT

T Y P I C A L W O R K F L O W

Page 9: Continuous Integration with Jenkins and ANT

T Y P I C A L W O R K F L O W

Page 10: Continuous Integration with Jenkins and ANT

T Y P I C A L W O R K F L O W

Page 11: Continuous Integration with Jenkins and ANT

What is the glue that holds CI together?

Page 12: Continuous Integration with Jenkins and ANT

1 . U S E V E R S I O N C O N T R O L S O F T W A R E … I N FA C T, U S E G I T !

Page 13: Continuous Integration with Jenkins and ANT

2 . E V E R Y O N E C O M M I T S T O T H E M A I N L I N E E V E R Y D A Y

Page 14: Continuous Integration with Jenkins and ANT

3 . A U T O M A T E T H E B U I L D

Page 15: Continuous Integration with Jenkins and ANT

4 . E V E R Y P U S H S H O U L D T R I G G E R A B U I L D

Page 16: Continuous Integration with Jenkins and ANT

5 . M A K E T H E B U I L D S E L F - T E S T I N G

Page 17: Continuous Integration with Jenkins and ANT

6 . K E E P T H E B U I L D FA S T

Page 18: Continuous Integration with Jenkins and ANT

7 . T E S T I N A C L O N E O F T H E P R O D U C T I O N E N V I R O N M E N T

Page 19: Continuous Integration with Jenkins and ANT

VA G R A N T

Page 20: Continuous Integration with Jenkins and ANT
Page 21: Continuous Integration with Jenkins and ANT

How do we push to the ‘Mainline’ everyday?

Page 22: Continuous Integration with Jenkins and ANT
Page 23: Continuous Integration with Jenkins and ANT

So what has changed?

Page 24: Continuous Integration with Jenkins and ANT
Page 25: Continuous Integration with Jenkins and ANT
Page 26: Continuous Integration with Jenkins and ANT

U N I T T E S T S

Page 27: Continuous Integration with Jenkins and ANT

I N T E G R A T I O N T E S T S

Page 28: Continuous Integration with Jenkins and ANT

N O N - F U N C T I O N A L

Page 29: Continuous Integration with Jenkins and ANT

An imperfect test today is better than a perfect test someday

Page 30: Continuous Integration with Jenkins and ANT

Demo

https://github.com/manatok/talk-demo-ci

Page 31: Continuous Integration with Jenkins and ANT

Questions?