100 likes | 210 Views
(Or “Be the Build Script Hero”). Moving from Manual to Automated Builds. A little about me. Web - joshuarogers.net Twitter - @joshua_a_rogers Email - jrogers@3-gis.com Software Engineer http :// 3-gis.com. What?.
E N D
(Or “Be the Build Script Hero”) Moving from Manual to Automated Builds
A little about me • Web - joshuarogers.net • Twitter - @joshua_a_rogers • Email - jrogers@3-gis.com Software Engineer http://3-gis.com
What? • An automated way of performing actions necessary to create a complete build. • Compiles • Documentation • Installers • Deployment • Testing
Why? • The Bus Factor • When Bob the builder went on vacation • More reliable • When you get bored, you make mistakes • It Works on my Machine • Take that, denial. • People make mistakes • Forgotten files, forgotten syntax, etc...
Why? (Cont) • Made QA more useful • Two weeks is a LONG time to assume • Archiving / BST testing • Where did that bug come from? • It isn't as forgiving as we are • Hours to setup code for a dev environment • Your time is far more valuable • Hardware is cheap. You are not.
How? Ant Nant Maven Rake Make Batch Qbasic w/ Fortran, Lisp, and Haskell bindings
Ant • Apache Ant • http://ant.apache.org/bindownload.cgi • Java-based • Multiplatform • Doesn't mean it is just for Java • Ant scripts are in XML
Ant (Cont) • Tasks • Individual commands • Targets • Group tasks (commands) together • Projects • Contain groups of targets
Ant (Cont) <project name="hi" default="hello" description="Hello Builder"> <target name="hello" description="Ancient developer ritual."> <echo>Hello World.</echo> </target> </project>
Automation • Jenkins • http://jenkins-ci.org/ • CruiseControl.NET • http://cruisecontrolnet.org • Atlassian Bamboo • http://www.atlassian.com/software/bamboo