rob reynolds | [email protected] | twitter: ferventcoder
Post on 21-Dec-2015
213 views
TRANSCRIPT
![Page 1: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/1.jpg)
Automated Builds: UppercuT Your Code!
Rob Reynoldshttp://ferventcoder.com | [email protected] | Twitter: ferventcoder
![Page 2: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/2.jpg)
What will we accomplish? Learn More about Builds Talk about an Insanely Easy to Use
Build Tool Demos – after all this is a technical
presentation right?!
![Page 3: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/3.jpg)
What is a build? In the field of computer software,
the term software build refers either to the process of converting source code files into standalone software artifact(s) that can be run on a computer, or the result of doing so. One of the most important steps of a software build is the compilation process where source code files are converted into executable code.
![Page 4: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/4.jpg)
SO…What is a build? Converting source to a usable
product
![Page 5: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/5.jpg)
What is Build Automation? Scripting activities
Compiling – What has F5 done for you lately?
Quality Indicators - Running verifications NCover, NDepend, Symbian, etc Automated Tests
Packaging - for Release Versioning DLLs DRYing activities – Hang it out to dry
![Page 6: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/6.jpg)
What is related to Build Automation? Continuous Integration
Cruise Control .NET | Team City Automated Deployments Automated Database Migrations
![Page 7: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/7.jpg)
What is an Automated Build Tool? Something scripted/built that
performs the build activities
![Page 8: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/8.jpg)
What is NOT an Automated Build Tool? Deployment Database Migrations
![Page 9: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/9.jpg)
Why Automated Builds? Improves quality Redundant tasks Reduces errors – repeatable
Frees you up Easier maintenance Eliminates dependencies Saves time and money – Stop
stealing from your employer! (thanks Jeremy Miller)
![Page 10: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/10.jpg)
What to use? MSBuild NAnt PSake Rake
![Page 11: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/11.jpg)
What to use? MSBuild
Built in But – does not shift frameworks well
NAnt – XML Yo! Tried and tested – old hat But - The angle bracket tax
PSake – Powershell Powershell, need I say more? But – new kid on the block
Rake – Ruby Make Powerful But - Another language to learn
![Page 12: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/12.jpg)
What are they all missing? Conventions Speed to a valid build Repeatable Upgrade path
![Page 13: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/13.jpg)
THAT’S WHY WE CREATED
![Page 14: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/14.jpg)
SOMETHING JUST AS POWERFUL
![Page 15: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/15.jpg)
BUT
![Page 16: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/16.jpg)
MUCH, MUCH QUICKER & EASIER
![Page 17: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/17.jpg)
UppercuT
![Page 18: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/18.jpg)
Why UppercuT? Stop recreating the wheel Use an optimized process Introduce standards We need conventions Upgrade very quickly and easily
![Page 19: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/19.jpg)
What is UppercuT? Insanely easy to use build
framework! Opinionated NAnt with Conventions NAnt templated with a layer of
indirection NAnt for the masses!
![Page 20: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/20.jpg)
UppercuT Conventions Local builds Version assemblies using source
control revisions Test Automation References preferred to be local Quality indicators are a must Building and packaging are separate Build and deploy are separate
concerns
![Page 21: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/21.jpg)
How to use UppercuT? Drop in required files Answer three questions
Automated builds!
![Page 22: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/22.jpg)
When should I try UppercuT? Right now!
Already have builds? When it makes sense
No build server? Not required to start
![Page 23: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/23.jpg)
Let the demos begin
![Page 24: Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder](https://reader030.vdocuments.pub/reader030/viewer/2022032521/56649d5d5503460f94a3c846/html5/thumbnails/24.jpg)