100 likes | 217 Vues
Discover the journey from manual to automated builds in software development. This guide highlights the importance of automation in creating reliable builds, reducing human errors, and improving overall efficiency. Learn how tools like Ant, Jenkins, and Bamboo can streamline your development process, making quality assurance more effective and saving valuable time. Automation not only minimizes the 'bus factor' risks but also leads to a smoother workflow for developers and QA teams alike. Join me in becoming the build script hero your team deserves!
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