Just like BPM boosted business process automation, Agile development methodologies have boosted development process automation. Development process automation has become so critical that a new specialty has emerged to take care of these activities, it is called Dev Ops. Dev Ops involves all operations that help in process automation and continuous integration. Even though “Dev Ops” is an emerging specialty, the operations that are part of Dev Ops are not all new. There are many new tools and frameworks that are part of the Dev Ops arsenal. Many of them like Chef and Puppet have steep learning curve. In this scenario, how do we implement and get the benefits of Dev Ops?
The first thing we can do is to identify all the operations that developers and testers in the company participate in. Here our focus is only on operations that happen after checking in product or test code into source control.
– after check in would normally comprise of the following:
We can easily automate all the post source code check in operations. There are many tools and frameworks available to do this and many have been around for decades. One such tool is ANT. ANT started off as a build automation tool. It provides a simple “task” based framework for automating build related tasks. The most common compilation tasks are “java”, “javac”, “jar” etc. Ant tasks take various inputs perform some predefined operations base on the inputs. Over the years ANT has grown to be more than just a build automation tool. Because of ANTs extensibility through custom ANT tasks, you can find an ANT task for most of the operations that you want to automate. Most of the process automation tasks that are part of Dev Ops can also be implemented using ANT.
If we take the example of Savvion BPM, there are couple of areas that teams struggle with when it comes to development process automation. First one is how to automate installation of Savvion and second is how to automate the deployment of Savvion applications to the server. Here’s how to do it.
For automation of Savvion installation, we can use the “Silent” option available in the Savvion installer. To do this, we have to first create a file that will contain all the responses required by the installer to carry out the installation. The response file can be generated by using the “Record” or “-r” option of the installer. On passing the -r option, the installer will run normally in GUI mode but will record all the inputs of the users to a text file. Subsequently, we can automate the installation by using the “-i Silent -f ” option. Now the installer will get all the inputs that it needs from the response file.
For automation of deployment of Savvion application to the server, we can use the AppPackager and AppDeployer utilities of Savvion. The AppPackager utility allows you to specify the contents of your application, that you want to deploy to the server. Using this input, the AppPackager creates an archive that can be used by the AppDeployer. Once this archive is created, it can be transferred to the server. Now the application can be deployed by invoking the AppDeployer and passing the archive as input. Both AppDeployer and AppPackager are command line tools and through them the Savvion application deployment can be automated using ANT.
Please see our white paper on how to implement Dev Ops using Ant.