Free cookie consent management tool by TermsFeed Deploying Applications [DevOps]
Deploying Applications


This page is about the deployment process in Appian and the different ways you can deploy updates to your applications. To learn how to deploy your applications and packages, see Deploy to Target Environments.

The deployment process

Deploying packages is how you release your application updates to end users and deliver value.

A package is a collection of Appian application changes that a developer can deploy to another environment. You can use packages containing new and updated objects to enhance an application in the target environment via a deployment.

Preparing a package is an important step in the deployment process and involves understanding what changes you need to deploy and how these changes will affect your target environment.

To deploy, you prepare a package with the relevant objects, and then move it from a source to a target environment.

Import Export Packages

During deployment, the definition of each object in your package is exported from the source environment into an XML file. Appian bundles these XML files into a ZIP file, which is used to move the objects to the target environment.

Information about related objects is preserved across the deployments. In most cases, the related objects themselves are not automatically exported. They must be explicitly added as objects within the package, or already present in the target environment. The application view allows you to check your application for missing precedents and add the precedents to the application. The package view allows you to perform the same analysis for an individual package.

Make sure you understand object-specific behavior while preparing a package for deployment.

Package dependencies

Your packages may depend on other files or scripts such as:

  • Application configurations: These application-level settings are used to construct the application in the target environment. The configurations can also add functionality like centralized application documentation and default security groups. Application configurations are always deployed when an application is new in the target environment. You can optionally deploy configurations in enhancement packages or as stand-alone packages.
  • Database scripts: You can directly deploy database scripts alongside your application changes or allow Appian to manage your database structure. In addition, you can always manually deploy database scripts to a specific environment, following change management best practices.
  • Plug-ins: Plug-ins allow developers to extend Appian functionality. On Cloud sites, system administrators can deploy Cloud-approved plug-ins to an environment through the Admin Console. On self-managed sites, plug-ins can be hot deployed by placing the jar in the specified directory. In addition, you can deploy plug-ins that exist in one environment to another using compare and deploy.
  • Import customization file: When your deployment includes environment specific values, such as usernames and passwords, Appian generates an import customization file for you automatically. You can then modify the file to include the appropriate values for the target environment.

Deployment methods

There are three methods for deploying a package in Appian:

In addition to deploying enhancements, you can also use the following types of packages to deploy new applications and change administration settings in the target environment:

  • Applications: Deploy an entire application when you are introducing a completely new business solution into the target environment.
  • Database scripts and plug-ins: Deploy only database scripts and plug-ins to make changes in the target environment that support a later deployment of changed design objects.
  • Administration Console settings: Deploy only Administration Console settings when you want to make changes to the Administration settings in the target environment.

Direct deployment

Direct deployments are an out-of-the-box approach to simpler deployments, with fewer manual steps and predictable outcomes. This supports continuous delivery by allowing you to deploy packages frequently and reliably.

For those looking for a streamlined deployment process with minimal setup effort, Appian recommends using compare and deploy.

Manual export and import

You may have constraints on specific environments or packages that prevent you from taking advantage of direct deployments. If that's the case, you can also manually export a package from a source environment and import it into the target environment.

When you export and import a package, rather than directly deploy it, you must manage certain dependencies manually. For example, exported packages do not contain database scripts or plug-ins.

External deployment

Appian has native deployment APIs that can be called from external tools, such as Jenkins. There are five endpoints that allow you to inspect and deploy packages, import customization files, and database scripts.

These APIs allow you to programmatically trigger deployments and integrate your Appian release into an automated pipeline. You can configure your pipeline once and run it the exact same way for all future deployments, saving time and avoiding manual errors.

In order to programmatically deploy Administration Console settings or tightly integrate with a version control system to store and retrieve package files, use the Automated Deployment Manager. For more information on setting it up, see the DevOps Quick Start Guide.

Post-deployment processes

A post-deployment process is a process that automatically runs after a direct or external deployment has finished on an environment. From this process, you'll be able to access key information about the relevant deployment.

Post-deployment processes provide flexibility, which allows you to automate tasks, leverage third-party tools, and customize your workflow. Automating your post-deployment steps reduces manual tasks and the potential for human error.

Open in Github Built: Fri, Nov 10, 2023 (03:42:48 PM)

Deploying Applications