What is Workflow Automation? Workflow automation, a critical component of build management , manages the application lifecycle steps that are needed before and after the software build. Workflow automation uses remote agents to manage the workload of the workflow, referred to as distributed processing (see diagram below). Workflow solutions provide a pre-written command line inter-face for calling common application lifecycle tools such as testing tools, source code management (SCM) tools, code coverage tools and email protocols to create a process before and after the software build during the build management process.
For example, a workflow process may call a SCM tool to check-out code, call a build automation tool like Meister or manual build scripts to create (build) the executables, call testing and code coverage utilities, and finish with an email notification to the team prior to deploying the newly built binaries to an end user server. |
What Workflow Cannot DoWorkflow solutions cannot address issues pertaining to the software build itself - the conversion of source code into binaries. Many workflow solutions tout the benefits that can be obtained by using multiple machines to distribute the "build." When they refer to the "build," they are referring to the activities in the workflow, not the actual software compile process. In order to manage and distribute the actual software build, build automation is needed to replace the manual build scripts. The reason that workflow solutions cannot be used for distributing the calls to the compilers is that the manual build scripts, which the workflow depends, do not have the intelligence needed to manage dependencies, sort out what components can be built first, and send the calls out to different machines. Nor can a workflow solution take an existing build script and translate it to execute across multiple machines. If you are looking for distributed builds , a build automation solution is needed. |