Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder.

Post on 21-Dec-2015

214 views 0 download

Transcript of Rob Reynolds | ferventcoder@gmail.com | Twitter: ferventcoder.

Automated Builds: UppercuT Your Code!

Rob Reynoldshttp://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.

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

What is NOT an Automated Build Tool? Deployment Database Migrations

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 all missing? Conventions Speed to a valid build Repeatable Upgrade path

THAT’S WHY WE CREATED

SOMETHING JUST AS POWERFUL

BUT

MUCH, MUCH QUICKER & EASIER

UppercuT

Why UppercuT? Stop recreating the wheel Use an optimized process Introduce standards We need conventions Upgrade very quickly and easily

What is UppercuT? Insanely easy to use build

framework! Opinionated NAnt with Conventions NAnt templated with a layer of

indirection NAnt for the masses!

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

Let the demos begin