fully scripted builds and connuous integraon have become ... · fully scripted builds and connuous...

31
Fully scripted builds and con2nuous integra2on have become more mainstream in the past years. In this talk I want to share some of the great ideas and best prac2ces for builds I’ve seen on projects that take con2nuous integra2on a step further. I will examine build pipelines, fully automated acceptance test suites, informa2on radiators, virtualised test environments, and so@ware quality reports. In addi2on I will discuss a few do’s and dont’s that can make the difference between a good build and a great build. 1

Upload: others

Post on 22-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Fully scripted builds and con2nuous integra2on have become more mainstream in the past years. In this talk I want to share some of the great ideas and best prac2ces for builds I’ve seen on projects that take con2nuous integra2on a step further. I will examine build pipelines, fully automated acceptance test suites, informa2on radiators, virtualised test environments, and so@ware quality reports. In addi2on I will discuss a few do’s and dont’s that can make the difference between a good build and a great build.  

Page 2: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

You will build o@en and it needs to be reliable Only two steps allowed: 1) check out 2) go deploy no other dependencies, say “NO” to ../ unfortunately... the Microso@ world, MVC installer how far to go? you *can* check in eclipse, or use a virtual image test‐driven setup 

Page 3: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Recording is easy But needs tuning (c.f. “waitForElementPresent” addi2ons) Not scalable, copy to programming environment and add abstrac2ons 

Page 4: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Page 5: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

ScrewUnit: Fast and easy to run Slightly tricky to make part of the build (we use Selenium here...) 

Page 6: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Integra2on le@ at end... it’s hard to es2mate... even harder than coding Agile “solved” the es2ma2on of coding... if we developed all the stories in isola2on we s2ll have the nasty integra2on problem In the words of... “If it’s painful do it more o@en” Now the integra2on phase disappears... neat trick, eh? So, what do we need to make this happen? (next slides) 

Page 7: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Page 8: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

1 – Check out from source control 2 – Make changes 3 – Run build 4 – Update from source control 5 – Re‐run build 6 – Check in to source control 

Page 9: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

The simple scenario: sequen2al change 

Page 10: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Don’t check out a broken build! Never, ever leave a@er checking in How do you know it’s broken? 

10 

Page 11: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

The web page has other uses... Status needs to be ambient – Twiher? 

11 

Page 12: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

More visible Give the abstract build a face, care for your build! 

12 

Page 13: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Don’t check out while building... What should the radiator show? 

13 

Page 14: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Depending on who uses the radiator. If it’s for management or informa2on purposes “building” might not mean much... 

14 

Page 15: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

you do the maths... build light shows “building” more than 50% of the 2me 

15 

Page 16: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Defeated by the process, concurrency Length of build does maher 

16 

Page 17: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Monitor this Go futher, show the length of the build stages 

17 

Page 18: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

18 

Page 19: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

19 

Page 20: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

20 

Page 21: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

21 

Page 22: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

22 

Page 23: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

never rebuild anything externalise configura2on ear surgery... haha 

23 

Page 24: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Quicker builds all round What is part of the “pre‐commit” build? Radiator for slow build should not show “building” Mind you when the slow build breaks... 

24 

Page 25: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

some transi2ons will be manual don’t auto‐redeploy into tes2ng environment; it will confuse testers 

25 

Page 26: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

compa2bility tes2ng speed... how much can you run in parallel? selenium/websdriver tests o@en only bound by latency, hence perfect candidates for parallelisa2on  

26 

Page 27: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

27 

Page 28: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

28 

Page 29: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

29 

Page 30: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

Code in cloud is a management “comfort” issue Customer data in the cloud (for tes2ng!) can easily be illegal... hhp://www.fakenamegenerator.com/order.php 

30 

Page 31: Fully scripted builds and connuous integraon have become ... · Fully scripted builds and connuous integraon have become more mainstream in the past years. In this talk I want to

We didn’t talk about databases... Setup, roll‐back wrappers, virtual environments  

31