more info at http://BeautifulBuilds.com
Roy Osherove speaks at Microsoft SWIT conference in Ukraine about build patterns, build tools, continuous integration, continuous delivery, and how to make it all work.
16. Which one?• Visual editing allows seeing FLOW• Easy to update and change by newbies• Easy to debug• FinalBuilder or Visual Build Pro on windows• Rake on linux or mac
17. The Right CI Tools
22. Many others. Which one?• TFS? TeamCity?• Support build agents• Support amazon ec2 auto scaling agents• Easy to setup and maintain• Free for a small team• TeamCity is awesome
23. But some CI servers support buildactions too!
24. Hardware• Build Machine (with teamcity)– + agent machines (optional)• Test Machine• Staging Machine• Production Machine• This can all be in the cloud (EC2 is wonderful)
25. Build Configurations• Continuous Integration Build• Slow Build (nightly, optional)• Deploy to test servers• Deploy to staging servers (optional)• Deploy to production
26. Build Script Injection• Allow version aware builds• Build scripts are part of source control• Build configurations on the CI server are dumbtriggers
27. Fill In The Blanks• Build Script uses placeholders for systemrelated knowledge• Placeholders are filled from environmentvariables or other types of parameters to thecommand line• These variables are SET by the BuildConfiguration on the CI server
28. Location Agnostic Scripts
29. Extract Script
30. Build Chain TriggersTriggered by checkinTriggered by end of previousManualManual
31. Slow BuildsDo XDo X + YDo X + Y + ZDo X + y + Z + N
32. Cumulative, Fast BuildsDo XDo YDo ZDo N
33. How Fast?
34. Shipping Skeleton• Start by releasing• Deploy a hello world empty skeleton• Then fill out the product• Continue adding small build features as you goalong
35. More infobeautifulbuilds.com
36. Short Song?
37. This is a test line
38. It looks like you’re doing just fine
39. The was a bomb in the kiev airline
40. The build songWhy this song?
41. Every build you break• Refactoring you make• Every mock you fake• You little snake• I’ll be watching you
42. • Every stand up meeting• I believe you’re cheating• Every unit test• Pains my chest• I’ll be stopping you
43. • Oh can’t you see?• This is scaring me• Every time we deliver• I begin to shiver
44. • When you say “transparent”• My fear is apparent• ‘Hide reality’• Is my mentality• I’ll be stopping you
45. • Oh can’t you see• I would rather ski• Dealing with this change• Is gonna feel so strange