Base Plugins and the `deployed` Object
Although the content in this topic 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.
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.
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.
Create a Deploy Plugin
Deploy supports customization of the core product using the Java programming language. By implementing a server plugpoint, you can change certain Deploy server functionality to adapt the product to your needs. And if you want to use Deploy with new middleware, you can implement a custom plugin.
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.
Generic Plugin
Deploy supports a number of middleware platforms. The Generic Model plugin provides the possibility to extend Deploy with new middleware support, without having to write Java code. Using Deploy's flexible type system and the base CIs from the Generic Model plugin, new CIs can be defined by writing XML and providing scripts for functionality.
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.
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.