๐๏ธ Discovery in the Generic Plugin
The Generic plugin supports discovery in any subtype of generic.Container, generic.NestedContainer, or generic.AbstractDeployed. To implement custom discovery tasks, you provide shell scripts that interact with the discovery mechanism, via the standard out, with specially formatted output representing the inspected property or discovered configuration item.
๐๏ธ Templating in the Generic Plugin
When you define and use configuration items (CIs) with the Generic Model plugin, you may need to use variables in certain CI properties and scripts. For example, you can use this method to include properties from the deployment itself, such as the names or locations of files in the deployment package. Deploy uses the FreeMarker templating engine for this.
๐๏ธ Sample Use of the Generic Plugin
This is an example of how to use the Generic Model plugin to implement support for a simple middleware platform. Deployment to this platform is done by simply copying a WAR archive to the right directory on the container. Resources are created by copying configuration files into the container's configuration directory. The Tomcat application server works in a very similar manner.
๐๏ธ Step Options for Generic, Powershell, and Python Plugins
Although the content in this topics is relevant for this version of Deploy, we recommend that you use the rules system for customizing deployment plans. For more information, see Getting started with Deploy rules.
๐๏ธ Control Task Delegates in the Generic Plugin
The Generic Model plugin has predefined control task delegates that have the ability to execute scripts on a target host. You can use the delegates to define control tasks on any configuration item (CI) defined in Deploy's type system.
๐๏ธ Add a Deployment Plan Step Using the Command Plugin
For a deployment, Deploy calculates the step list based on your model. If you want to add an extra step, there are several ways to do so. This topic describes how to handle a simple case by executing a remote shell command on a server.
๐๏ธ Implement Custom Plugpoints
Functionality in the Deploy server can be customized by using plugpoints. Plugpoints are specified and implemented in Java. On startup, Deploy scans its classpath for implementations of its plugpoints in the com.xebialabs or ext.deployit packages and prepares them for use. There is no additional configuration required.
๐๏ธ Extend the Database Plugin
The Database plugin uses the Deploy rules system to provide improved rollback support for SQL scripts.
๐๏ธ Configure a Mail Server in the Generic Plugin
The Deploy Generic plugin adds support for mail servers to Deploy. A mail server is a mail.SmtpServer configuration item (CI) defined under the Configuration root node.