Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

FlexDeploy provides dozens of out of the box plugins for building and deploying software using various technologies and middleware platforms. The FlexDeploy Plugin SDK allows customers or Flexagon partners to develop their own plugins. This guide provides the documentation for creating and managing these plugin implementations.

...

  • Implementation 
  • Metadata describing its operations, properties, and other behavior
  • Setup scripts (optional) to initialize the environment prior to execution
  • Required 5.1.0 FlexDeploy libraries for Java implementation (download here)

See detailed instructions below.

Table of Content Zone

Table of Contents

Development Approach

  • Decide on implementation type - Java or Docker, depending on your expertise.
  • Define plugin.xml and properties.xml files. This should help you describe operations that will be developed and project or environment/instance level properties used by each operation. You can also define plugin operation inputs as appropriate. At times, you can just use inputs without properties if it makes sense.
  • Developer plugin implementation.
  • Unit test plugin opeations.
  • Package and verify on FlexDeploy server.

Plugin Implementation

Java Plugin

...

To do that, cd to the folder that contains the files, and execute the following command: jar cvfM0 pluginname<PluginName>-<pluginversion><PluginVersion>.jar *

This will make "plugin<PluginName>-<PluginVersion>.jar" which will contain the files and folders around it.

...

Code Block
themeEclipse
firstline1
titlePlugin JAR Structure
linenumberstrue
<Plugin Name><PluginName>-<PluginVersion>.jar
     properties
          <properties file name>.xml  (Plugin XML Properties Definition)
     lib
           adflibFlexFndCommonCore.jar (FlexDeploy library)
           adflibFlexDeployCore.jar   (FlexDeploy library)
           commons-io-2.4.jar   (Apache Commons IO library)
           <your plugin>.jar   (your plugin classes packaged into a JAR - containing full package structure)
     bin
           setup.sh   (optional)
           setup.bat   (optional)
     plugin.xml   (Plugin XML Metatdata)

...