One major value proposition of FlexDeploy is its plugin architecture, and out of the box plugins. These plugins simplify the creation of workflows by replacing scripting with simple configuration. FlexDeploy provides plugins for Oracle Fusion Middleware, Oracle Cloud, Oracle E-Business Suite, and other Oracle and non-Oracle technologies. The list of plugins will continue to grow over time. But what if you have technologies that you wish to manage the build/deploy/test lifecycle, but FlexDeploy does not currently offer a supporting plugin? FlexDeploy covers this inevitable situation by providing low-level technology plugins such as Groovy, Unix Shell, and Windows Shell. If there is a Java or command-line interface available for a particular technology you can integrate it into FlexDeploy using just a bit of technical savvy.

As an example, let’s use the Unix Shell plugin to create a workflow for deploying an application to GlassFish. We will skip the build workflow since the out of the box plugins for JDeveloper or Maven will do the trick there.  For the deploy workflow we will have the following steps.

  • Undeploy the application
  • Deploy the application
  • Optionally restart the server
  • Execute any tests defined on the target project

We will also need to create two workflow properties

  • GLASSFISH_HOME (Environment Instance Scope) – Location of the GlassFish server installation.
  • GLASSFISH_APPLICATION_NAME (Project Scope) – Name of the EAR artifact to deploy.

And lastly, to allow the user to select (at request time) whether to restart the server we will need one input, called RESTART_SERVER.

Creating the Workflow Properties

pic1

Creating the Workflow Input

pic2 pic3

Workflow Definition

pic4

Workflow Definition – Undeploy Application

pic5

Workflow Definition – Deploy Application

pic6

Workflow Definition – Restart Server

pic7

Conclusion

Low-level technology plugins, such as the Unix Shell Plugin used in this article, provide the ability to automate just about anything.  Whether using the rich plugins that are provided out of the box, or getting down and dirty with scripting, the end result is having an automated solution which is fully integrated into the FlexDeploy build/deploy/test lifecycle.  

Erick Jones

I have been working with Java EE technologies for 20 years, and have applied industry experience implementing IBM and Oracle solutions. Through my architecture and development experience I have implemented several homegrown and third party automation solutions to manage the software delivery lifecycle. At Flexagon I am a DevOps evangelist, with a passion for helping customers deliver software to their customers faster, cheaper, and with higher quality. My primary focus is on FlexDeploy product strategy, and pre-sales and post-sales implementations.

More posts by Erick Jones
    

Leave a Reply

Your email address will not be published. Required fields are marked *