Welcome to AntDepo
AntDepo is an open source command dispatching framework used to build flexible automated IT processes.
Working within AntDepo, you are primarily defining command modules, reusable libraries of logically named commands that know how to control something. AntDepo makes it easy to combine these commands, either within a command module or across multiple command modules, into sequenced and coordinated workflows. These workflows give you the ability to manage actions on an individual basis or in logical groupings.
To build command modules, AntDepo users simply plug their existing scripts (including Ant build.xml files, if you are an Ant user) and configurations into a command module and give each command a logical name. The framework handles such complex, but essential tasks as:
- Command dispatching: call a simple, logical command name and the framework calls the correct sequence of local or distributed automation. This also lets you separate the implementation of each command, so that a change in a command's implementation won't break a workflow and a change in a workflow won't break a command's implementation.
- Distributed execution: when needed, transparently executes procedures on local or remote machines, enabling host and network abstraction
- Templatized actions: Templatize your procedures to remove values that either change often or would differ from environment-to-environment.
For more details on how AntDepo works, check out the Core Concepts section of the AntDepo Documentation.
|AntDepo provides the command dispatching framework for the |
What drove AntDepo's development?
The need for AntDepo arose when trying to automate complicated build and deploy processes for multi-tier application services. These "applications" were really sets of interacting server components, each with its own build procedure and deployment logic. Above these individual build and deploy steps, there was also multiple end-to-end processes that orchestrated those lower level ones.Another problem with these build and deployment processes was they would be scripted differently by the developers, QA and operations groups - with minimal (or no) code sharing between them.
What was missing was a common framework that would allow each of these process steps to be packaged into logicaly named commands, and a way to connect these commands into sequenced end-to-end processes. These command sequences should also work whether the process ran in a one node test environment or a multi-node production environment. Besides just supporting modularity, the framework should also let people use an object-oriented to organizing code. Finally, the framework should encourage and facilitate lose coupling between the end-to-end processes and the low level system commands and procedures.
AntDepo is the response to these challenges.
What's in a name?
The name "antdepo" is short for Ant Deployment Objects. There is also the concept of depots in AntDepo so some have taken the name to mean "a depot for Ant-based modules". We have wanted to change the name many times but it has stuck and hopefully won't cause too much confusion.
If you like to get involved in our efforts, there are many ways you can. All comments, criticisms, and contributions are welcome.