Add a Checkpoint to a Custom Plugin
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.
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.
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.
The Deploy Apache Tomcat plugin can deploy to a virtual host (tomcat.VirtualHost) or common context (tomcat.CommonContext) container. WAR files are deployed to virtual hosts, while resources such as datasources are deployed to the global Tomcat configuration, which is stored in the common context. For more information about this plugin, see Apache Tomcat plugin.
The Digital.ai Deploy plugin manager has the ability to work in an environment with restricted internet access. There are three options to choose from.
The Deploy Apache Tomcat plugin is used to manage deployments on a Tomcat server. Standard support includes deploying and undeploying web applications, datasources, mail sessions, resource links, ActiveMQ, and WebSphere MQ resources. The plugin can be extended to support more deployment options or management of new artifacts and resources on Tomcat.
This topic describes using a CI tool plugin to interact with Deploy. However, as a preferred alternative starting with version 9.0, you can utilize a wrapper script to bootstrap XL CLI commands on your Unix or Windows-based Continuous Integration (CI) servers without having to install the XL CLI executable itself. The script is stored with your project YAML files and you can execute XL CLI commands from within your CI tool scripts. For details, see the following topics:
AWS CodePipeline is the Amazon Web Services continuous delivery service. It facilitates modelling and automation of the software release process.
The Amazon Web Services (AWS) plugin for Deploy supports:
The Deploy Azure plugin enables Deploy to work with the Microsoft Azure cloud computing service. You can provision Virtual Machines, Containers, and deploy FunctionApp and WebApp from Deploy.
The Deploy Azure plugin enables Deploy to work with the Microsoft Azure cloud computing service. You can provision Virtual Machines, Containers, and Deploy FunctionApp and WebApp from Deploy.
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.
When customizing Deploy, it is recommended that you start by extending configuration item (CI) types and writing rules.
The Deploy Chef plugin uses the Chef provisioning tool (chef-solo) to install recipes on hosts.
The Citrix NetScaler Application Delivery Controller plugin enables Deploy to manage deployments to applications and web servers whose traffic is managed by a NetScaler load-balancing device.
The Cloud Foundry CLI Integration is Deploy integration for CloudFoundry server which makes uses of CF CLI installed in a remote Host.
The Deploy Cloud Foundry plugin supports:
You can use the Deploy Command plugin to execute scripts on remote systems, without manually logging in to each system, copy required resources, and executes scripts or commands. The Command plugin automates this process and makes it less error-prone.
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.
The DIgital.ai Google Cloud Compute plugin supports Deploy Instance Spec, Deploy Template Spec, and DialogFlow Agent Zip Spec deployables.
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.
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.
The Deploy Database plugin supports deployment of SQL files and folders to a database client. The plugin is designed according to the principles described in Evolutionary Database Design. The plugin supports:
In Deploy, you can define methods on configuration items (CIs). Each method can be executed on an instance of a CI via the GUI or CLI. Methods are used to implement control tasks, as actions on CIs to control the middleware. An example is starting or stopping a server.
Deploy is an application release automation (ARA) tool that deploys applications to environments (for example, development, test, QA, and production) while managing configuration values that are specific to each environment. Deploy is designed to make the process of deploying applications faster, easier, and more reliable. You provide the components that make up your application, and Deploy does the rest.
This tutorial will explain the basic case of deploying a file to a target Container and doing something on the target Container with that file.
Deploy features a modular architecture that allows you to change and extend components while maintaining a consistent system. This is a high-level overview of the system architecture:
The Deploy Terraform Enterprises plugin supports:
The Deploy WebLogic server (WLS) plugin allows you to manage deployments and resources on an Oracle WebLogic server. With this plugin, you can deploy multiple versions of the same application at the same time, which is known as a side-by-side deployment or versioning.
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.
Discovery is the process of scanning your environment and creating configuration items (CIs) in the Deploy repository based on the configurations that are found. Discovery allows you to easily set up your infrastructure. However, the discovered CIs may not always be completed, as some CIs contain properties that cannot be automatically discovered, such as passwords. You must enter these properties manually.
After you specify the JBoss server home location and the host on which the JBoss server is running, you can use the JBoss Application Server plugin to discover the following properties on a running JBoss server:
After you specify the host and domain of a server running Oracle WebLogic, you can use the Deploy WebLogic (WLS) plugin to discover the following middleware containers:
Deploy does not allow the creation or discovery of multiple CIs with the same name, and considers them as duplicates. However, Websphere allows the creation of such resources with the same name, as long as they are of different types.
The Deploy Docker plugin allows you to deploy Docker images to create containers and connect networks and volumes to them.
The Database plugin uses the Deploy rules system to provide improved rollback support for SQL scripts.
You can extend the Deploy plugin for JBoss Enterprise Application Platform (EAP) 6 and JBoss Application Server (AS)/WildFly 7.1+ using the Deploy plugin API type system and Jython.
The Deploy GlassFish plugin is designed to be extended through the Deploy plugin API type system and Jython. The plugin wraps the GlassFish command-line interface (CLI) with a Jython runtime environment, so that extenders can interact with GlassFish and Deploy from the script. The Jython script is executed on the Deploy Server and has full access to the following Deploy objects:
You can extend the IBM WebSphere Application Server (WAS) plugin through Deploy's plugin API type system and using custom, user-defined Python scripts.
You can extend the IBM WebSphere MQ (WMQ) plugin using the Deploy plugin API type system. And because the WMQ plugin is built on top of the Generic plugin, you can also add support for new types using Generic plugin patterns.
You can extend the JBoss Application Server plugin using the Deploy plugin API type system. And because the JBoss plugin is built on the Deploy Generic plugin, you can also add support for new types using the Generic plugin patterns.
You can extend the Deploy Oracle WebLogic (WLS) plugin using the Deploy plugin API type system and by using custom WebLogic Scripting Tool (WLST) Python scripts.
The Apache Tomcat plugin for Deploy is designed to be extended through Deploy's plugin API type system. For more information about this plugin, see Apache Tomcat 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.
The Deploy GlassFish plugin adds the capability to manage deployments and resources on the GlassFish application server. It can manage application artifacts, datasource and JMS resources via the GlassFish CLI, and can be extended to support more deployment options or management of new artifacts and resources on GlassFish.
The Digital.ai Deploy Google Cloud Compute plugin allows you to deploy the Digital.ai Deploy instance on the Google Cloud platform.
The Digital.ai Deploy Helm plugin supports:
The DataPower plugin for Deploy allows you to manage the configuration of an IBM DataPower Gateway appliance. You can provide a configuration file in XML or ZIP format, import it in your DataPower appliance, and persist the configuration for a selected domain.
The IBM WebSphere Application Server (WAS) plugin adds capability for managing deployments and resources on an existing WebSphere application server. It offers support for deploying and undeploying application artifacts, datasources, JMS resources, and other Java EE resources and WAS configurations.
The Deploy WebSphere Liberty profile server (WLP) plugin adds capability for managing deployments and resources on Liberty profile server. It works out of the box for deploying/upgrading/undeploying application artifacts, features, and resources like datasources, libraries and filesets.
The Deploy IBM WebSphere MQ (WMQ) plugin can be used to manage resources on a WebSphere MQ environment. The plugin can deploy and undeploy local queues and alias queues on a queue manager, and can be extended to support the management of other resources in a WebSphere MQ environment.
You can use the Deploy IBM WebSphere Process Server (WPS) plugin to manage deployments and resources on an existing WebSphere Process Server server. The plugin provides supports deploying and undeploying applications (EAR files) and can be extended to support more deployment options or management of new artifacts and resources on WPS.
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.
Deploy runs on the Java Virtual Machine (JVM) and has two classloaders: one for the server itself, and one for the plugins and extensions. A plugin can have an .xldp or a .jar extension. The XLDP format is a ZIP archive that bundles a plugin with all of its dependencies.
The F5 BIG-IP plugin adds the ability to manage deployments to application servers and web servers with traffic that is managed by a BIG-IP load balancing device.
An application can depend on external resources for its configuration. The application accesses these resources from a predefined location or using a predefined mechanism. A resource can be described as a file, an archive (ZIP), or a folder which is a collection of files.
The Deploy JBoss Application Server (AS) plugin adds the capability to manage deployments and resources on a JBoss Application Server. It can be used to deploy and undeploy application artifacts, datasources, and other JMS resources. You can extend the plugin to support more deployment options or management of new artifacts and resources on JBoss Application Server.
The JBoss Domain, or jbossdm, plugin for Deploy can be used to manage deployments and resources on:
The Deploy JEE plugin provides support for Java EE archives such as EAR files and WAR files, as well as specifications for resources such as JNDI and mail session resources.
The Deploy Kubernetes (K8s) plugin supports:
The Lock plugin is a Deploy plugin that adds capabilities for preventing simultaneous deployments.
The Deploy BizTalk plugin adds the capability to perform BizTalk configuration and deployment tasks.
The Deploy Microsoft Internet Information Services (IIS) plugin adds the capability to perform IIS deployments and configuration tasks.
With the Deploy OpenShift plugin, you can deploy OpenShift and Kubernetes resource types directly from Deploy.
The Deploy Oracle Service Bus (OSB) plugin supports importing and deleting OSB projects.
The Deploy Oracle Service-Oriented Architecture (SOA) plugin supports:
The Deploy Oracle WebLogic server (WLS) plugin is used to manage deployments and resources on a WebLogic server. It can deploy and undeploy application artifacts, as well as datasources and other JMS resources. You can extend the plugin to support more deployment options or management of new artifacts or resources on WebLogic. For more information
To check the connection between Deploy and a satellite, you can ping the satellite. This will test the entire network and application stack and check your parameters.
The Digital.ai Deploy plugin manager displays the list of plugins on the filesystem or database and their current version. You can delete Digital.ai Deploy plugins with the plugin manager command-line interface (CLI) from the database or filesystem. It is also possible to add and update plugins with the plugin manager CLI.
This section describes some of the common user issues faced when using the Plugin Manager with corresponding response messages.
In order for Deploy to apply any Stitch transformation, the plugin needs to have a support for Stitch since it controls the content in it.
Digital.ai Deploy runs on the Java Virtual Machine (JVM) and has two classloaders: one for the server itself, and one for the plugins and extensions. A plugin can have an .xldp or a .jar extension. The XLDP format is a ZIP archive that bundles a plugin with all of its dependencies.
The Digital.ai Deploy plugin manager displays the list of installed plugins on the filesystem or database and their current version. You can manage your Digital.ai Deploy plugins directly from the Digital.ai Deploy user interface. You can upload a new plugin or update a new version of an installed plugin directly from the Digital.ai Deploy plugin manager user interface.
You can use the Deploy PowerShell plugin to create extensions and plugins that require PowerShell scripts to be executed on the target platform. For example, the Deploy plugins for Windows, Internet Information Services (IIS), and BizTalk were built on top of this plugin.
To use the Deploy Docker plugin you must first create a Docker registry and make configuration settings to Deploy.
The Puppet plugin is a Deploy plugin that uses the Puppet provisioning tool to install modules and manifests on hosts.
After you synchronize plugins on a Deploy satellite, the satellite must be restarted. For more information, see Synchronize plugins with a satellite server.
This example describes some classes from a test plugin we use at Digital.ai, the Yak 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.
You can use the Deploy Script plugin to enable Deploy to install and provision scripts on hosts.
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.
If you add, remove, or update a Deploy plugin or extension, you must synchronize Deploy with satellite servers before performing a deployment.
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.
The Deploy Terraform plugin supports:
The Trigger plugin lets you configure Deploy to send emails for certain events. For example, you can add rules to send an email whenever a step fails, or when a deployment has completed successfully.
Starting Tomcat
Deploy rules enable you to use XML or Jython to specify the steps that belong in a deployment plan and how the steps are configured. Several Deploy plugins include predefined rules that you can use when writing rules. For more information on rules, see Get started with rules.
Deploy a Docker Container
You can use the Deploy OpenShift plugin to create or destroy OpenShift resources on an OpenShift server. To use the plugin:
Deploy uses the FreeMarker templating engine to allow you to access deployment properties such as such as the names or locations of files in the deployment package.
The Deploy Web Server plugin provides the deployment of web content and web server configuration to a web server.
The Deploy Windows plugin enables Deploy to perform common Microsoft Windows configuration and deployment tasks.