We are here with Marc Esher on Automating the build/ deployment process with ANT
What is ANT?
Marc: ANT is a java-based build tool, but you don't need to know java and its usefulness for CF developers extends beyond just "building" an application. It has Why is your session important for attendees? Marc: When I first encountered ANT back in the early 2000s, I was somewhat intimidated. After using it, though, I realized there's nothing to be afraid of. It might look verbose because it's XML, but you learn to read and write ant files quickly. And when you do.... what a time saver! I hope to demystify ANT, and also show just how powerful it is. My session will be spent largely exploring different build files, moving from the common operations like copying and zipping and building on them toward a full-featured build file for a reasonably complex piece of software with code living in multiple locations. I intend to show some tips and tricks and some gotchas. The great thing though, at least I think so, will be the copious examples. And the presentation, once it's posted, will have even more.... an appendix of ant files for doing neat stuff. I really believe that single-click application packaging and potentially even single-click deployments -- is attainable for most CF Shops! What kind of experience with ANT is required to attend your session? Marc: None, although the people who have at least a cursory understanding of ANT will robably benefit more immediately than others. Folks who spent just the time to watch this
http://coldfusion.meetup.com/17/calendar/7549322/ would be better off in my presentation. I'll be doing a short "intro to ant", and it'll start with simple tasks like copying and zipping, but it's going to shift into overdrive after that. I think that folks brand new to ANT will take away more "You can do that????". And then, when they go back to work, try it out, get some familiarity -- and go download the presentation to get the examples -- they'll be ready for the harder stuff.
What are some of the issues that you will be addressing? Marc: To start, Copying and zipping files -- your standard ANT stuff for moving code to different servers or packaging it for deployment. Then we'll get into FTP, Subversion, executing operating system commands, talking to databases, and using ScriptDef for creating ColdFusion-like functions right in your ANT files. I'll be showing some neat stuff with "conditions" and "selectors" for powerful file system comparisons. I'll even show how you can use some external ANT libraries for, say, querying the database for a list of deployment servers, looping over that query and deploying an app to each each of
those servers.
This sounds like a lot, and it is. I hope to whet people's appetites for what can be done with ANT in a few lines of XML. But it won't cover each of these topics exhaustively -- there just isn't enough time in a single session to do that. However...the nice thing is that since I'm in the last time slot, anyone who wants to talk more about ANT -- from the beginner to the advanced -- can just stay later!