an agile approach to automated builds sela

12
© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel www.sela.co.il

Upload: meda-conferences

Post on 24-May-2015

306 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: An agile approach to automated builds  sela

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel www.sela.co.il

Page 2: An agile approach to automated builds  sela

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 2

What is Build Automation?

Feedback Cycle Time

Agile Approach in Build Automation

Example Build Processes

Summary

Page 3: An agile approach to automated builds  sela

• ‘The act of scripting or automating … tasks that software developers do in their day-to-day activities …’

(Wikipedia)

• Often includes, but is not limited to:

– Compilation

– Tests (unit, integration, functional, etc.)

– Preparation of installation packages

– Deployment to staging and/or production servers

– Others

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 3

Page 4: An agile approach to automated builds  sela

• Benefits of build automation:

– Reduce human errors when manually building

– Have a single ‘authoritative’ source for the product

– Let people focus on creative things!

– Let QA ‘pull’ builds when they are ready

IMPROVE PRODUCT QUALITY!

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 4

Page 5: An agile approach to automated builds  sela

• Daily/Nightly Build

– Runs at a scheduled time in the day, automatically

– Builds the entire product from scratch

– Runs tests, builds installer packages, etc.

– May take hours

• Continuous Integration (CI) Build

– Runs many times during the day

– Triggered by check-in operations

– Compiles the code, maybe run some sanity or smoke tests

– Should take several minutes at most

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 5

Page 6: An agile approach to automated builds  sela

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 6

Minutes Hours Days

CI

Nightly / Daily

Page 7: An agile approach to automated builds  sela

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 7

Minutes Hours Days

CI

Nightly / Daily

Page 8: An agile approach to automated builds  sela

• Short Feedback Cycles:

– Individual Teams

– Fine-grained business components

– Run only small subset of unit tests, keep build fast! (<10 minutes)

• Long Feedback Cycles:

– Entire Products

– Build from scratch on dedicated machine

– Run all tests, including automated functional tests

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 8

Page 9: An agile approach to automated builds  sela

• A combination of 3 consecutive build stages

• Stage 1:

– Compilation, unit tests

– Short feedback cycle

• Stage 2:

– Integration tests and/or acceptance tests

– Longer feedback cycle

• Stage 3:

– Functional tests and installation packages

– Longest feedback cycle

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 9

Page 10: An agile approach to automated builds  sela

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel 10

Time

Stage 1

Stage 2

Stage 3

QA

Page 11: An agile approach to automated builds  sela

11

Identify the feedback cycle you want for each of your build types

Use multiple build types together for covering all feedback cycles

Iterate!

© Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel

Page 12: An agile approach to automated builds  sela

12 © Copyright SELA software & Education Labs Ltd. 14-18 Baruch Hirsch St.Bnei Brak 51202 Israel