Continuous Integration with Jenkins and ANT

Post on 27-Aug-2014

88 views 5 download

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

– 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.”

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

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

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

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

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

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

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

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

What is the glue that holds CI together?

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 !

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

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

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

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

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

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

VA G R A N T

How do we push to the ‘Mainline’ everyday?

So what has changed?

U N I T T E S T S

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

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

An imperfect test today is better than a perfect test someday

Demo

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

Questions?