230 likes | 359 Views
Automated Builds: UppercuT Your Code!. Rob Reynolds http://ferventcoder.com | ferventcoder@gmail.com | Twitter: ferventcoder. 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?!.
E N D
Automated Builds: UppercuT Your Code! Rob Reynolds http://ferventcoder.com | ferventcoder@gmail.com | Twitter: ferventcoder
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?!
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. (Wikipedia.org)
SO…What is a build? • Converting source to a usable product
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
What is related to Build Automation? • Continuous Integration • Cruise Control .NET • Team City • Automated Deployments • Automated Database Migrations
What is an Automated Build Tool? • Something scripted/built that performs the build activities
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)
What to use? • MSBuild • NAnt • PSake • Rake
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
What are they missing? • Conventions • Speed to a valid build • Repeatable | Standards • Upgrade path for YOUR builds
What is UppercuT? • Insanely easy to use build framework! • Opinionated • NAnt with Conventions • NAnttemplated with a layer of indirection • “NAnt for the masses!” - .NET Kicks • “An elegant solution to Builds”
Why UppercuT? • Stop recreating the wheel • Use an optimized process • Introduce standards • We need conventions • Upgrade very quickly and easily
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
How to use UppercuT? • Drop in required files • Answer three questions • Automated builds!
When should I try UppercuT? • Right now! • Already have builds? When it makes sense • No build server? Not required to start