Configure a Post-Deployment Process [Appian Designer] (2024)

Overview

This page is about post-deployment processes in Appian and how to configure them for two common use cases.

A post-deployment process is a process that automatically runs after a direct 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 helps you reduce manual tasks and errors.

How it works

Within each application, Appian allows you to add a process model in the deployments view that will run after an incoming direct deployment is completed. You can configure your workflow to trigger actions based on deployment properties. Appian will pass the deployment UUID to the process model which can then be used with a!deployment() to retrieve deployment properties. Once you add a process model as a post-deployment process for an application, that specific application will become a dependent of the process model. When you import the specific application to a new environment, the process setting is imported as well.

Configure a Post-Deployment Process [Appian Designer] (1)

Below are two examples of common use cases for adding post-deployment processes:

  1. Run expression rule test cases after a successful deployment
  2. Trigger a Jenkins job after a successful deployment

These use cases will demonstrate how to access your deployment information from the process model and build your workflow.

Run expression rule test cases

Appian recommends running expression rule test cases before and after you deploy changes to your application. A post-deployment process will automate this task every time so that you don’t need to manually run them.

Create a process model

To run test cases after an incoming direct deployment is finished, we will create a simple process model that kicks off test cases for all expression rules in the corresponding application. The process will use a!deployment() to retrieve deployment information and the Start Rule Tests (Applications) smart service to run test cases for expression rules.

Configure a Post-Deployment Process [Appian Designer] (2)

  1. Create a new process model.
  2. Add 3 process variables: pv!deploymentUUID, pv!status, pv!applications. These variables will store deployment and application information. In the process model toolbar, click the Properties button and select the Variables tab.Configure a Post-Deployment Process [Appian Designer] (3)
  3. Click Add Variable and in the Name field, enter deploymentUUID and set it as type Deployment. This variable will represent the UUID of a deployment.
  4. In the Parameter field, select the Allow the value for the variable to be provided when starting a process checkbox.
  5. Click OK.
  6. Add another variable named status with the type as Text. This variable will represent the status of a deployment. We will use this variable in our script task later on.
  7. Add another variable named applications with the type as Application and click OK. We will use this variable in the Start Rule Tests smart service later on.
  8. Drag and drop a Script Task node between the start node and end node, and name it Check Deployment Status. In this process, we need to check that the deployment has been completed before running the expression rule test cases.
  9. Double click the script task node and select the Data tab.
  10. Select the Output tab and click New Custom Output.
  11. Name the custom output status and in the expression editor, enter a!deployment(pv!deploymentUUID, “status”). We are using a!deployment() to retrieve the deployment status. pv!deploymentUUID represents the deployment UUID, which will be populated after the deployment is finished.
  12. In the Target field, select pv!status. This process variable will store the status of the deployment so we can use it to determine whether the process should continue or end.
  13. Click Save and Close.
  14. Drag and drop Start Rule Tests (Application) smart service node after the script task.
  15. Double click the Start Rule Tests (Application) smart service and select the Data tab.
  16. In the Inputs tab, click the Applications input.
  17. In the Value field, enter =a!deployment(pv!deploymentUUID, “applications”) in the expression editor. This expression retrieves the applications associated with the deployment.
  18. Save the value in pv!applications and click OK. Using a process variable instead of using the specific application name allows this process to be dynamic. You can reuse the process for any application and deployment.
  19. Drag and drop an XOR node between the script task and smart service and name it Deployment Completed?.
  20. Add a connector from the XOR node to the End node. This XOR node will route the process to the smart service or the end node depending on what the deployment status is.
  21. Double click the XOR node and select the Decision tab.
  22. Click NEW CONDITION and in the condition field enter pv!status= “Completed”. “Completed” is the deployment status and indicates that all objects in the package have been successfully imported. Partial deployments are represented by the status Completed with Errors.
  23. In the Result field, select the Start Rule Tests (Application) smart service.
  24. In the Result field of the Else if none are true condition, select End Node.
  25. Click OK.
  26. In the File menu, select Save & Publish.

Set the post-deployment process

After creating our process model, we are ready to add it as a post deployment process:

  1. In Appian Designer, select the appropriate application.
  2. In the Deployments View > Incoming tab, click the Modify Selection icon.Configure a Post-Deployment Process [Appian Designer] (4)
  3. In the Post-Deployment Process Model field, select the appropriate process model.
  4. In the Process Parameter field, select the process variable to pass the deployment identifier to. For this example we will select pv!deploymentUUID.
  5. Click SAVE.

Once your process model has been added to the deployments view, you can kick off the post deployment process by directly deploying a package to the target environment. After the process is complete, you can view your test case results in the Manage Test Cases dialog. You can also monitor your process in the Monitoring View > Process Activity.

Trigger a Jenkins job

The post-deployment process also provides a connection point to the rest of your infrastructure and can be used to integrate with your existing third-party tools. For instance, you can use Jenkins to trigger a job that will automate activities, such as running FitNesse or other functional test scripts after a deployment.

In our example below, we will create a simple process model, along with a connected system and integration object to connect to Jenkins. The process will use a!deployment() to retrieve deployment information and the Call Integration smart service to utilize the Jenkins integration. Keep in mind this example can also be easily tailored to work with any other third-party tool by modifying the configurations of the connected system and integration objects.

Configure Jenkins

In this section, we’ll go through the steps to create a new Jenkins job, enable it to be triggered remotely, and set up a user account to do so with an API key. If you already have this configured, you can skip to Create a connected system and integration for Jenkins.

If you don’t already have Jenkins set up, install and configure Jenkins before following the instructions below.

Create a new Jenkins job

  1. Go to your Jenkins Home Page.
  2. From the left-hand panel, click New Item.
  3. Enter a job name in the Item Name field. For example: “Run Application Tests”.
  4. Select Freestyle project.
  5. Click OK, then click Save.
  6. Under Build Triggers, check the box next to Trigger Builds Remotely.
    • Optional: you can provide a job authentication token, which is separate from the user account and credentials to build the job. We recommend generating a key by using a random key generator tool.
  7. Under Pipeline, you can enter your own script or use a sample one that Jenkins provides. Below, we modified their sample “Hello World” script in order to output “Testing done!” instead.

  8. Click Save.

Set up a Jenkins user

If you do not have a Jenkins user account configured which can build jobs remotely, follow the instructions below. We will create and use an account that isn’t linked to an actual human user.

  1. As an administrator, create a user account which will be used to remotely trigger the Jenkins job.
    • Click on Manage Jenkins > Manage Users > Create User. Enter the user information.
    • Click Create User.
    • Click Manage Jenkins > Configure Global Security > Authorization. Assuming you are using matrix-based security, add the user you just created and give them the following permissions: Overall: Read, Job: Build, Read, and Workspace.
    • Click Save.
  2. Log out of the administrator account and log back in as the user you just created, in order to create an API key for this user.
    • Click on the user dropdown in the top right and click Configure.
    • Under API Token, click Add new Token. This will prompt you to name your token.
    • Click Generate to create the token, and make sure to copy it to use later on.

You now have a Jenkins job that’s ready to be triggered remotely and a user account that can do so!

Create a connected system and integration for Jenkins

In this section, we’ll go through the steps to create a connected system and integration object to trigger the Jenkins job with the user account and API key you configured above. Then we’ll create a post-deployment process model that uses this integration.

  1. In Appian Designer, select your application.
  2. Create and configure a new connected system:
    • Click on the New menu and select Connected System.
    • Select HTTP connected system and add a name, description, and logo for your new connected system.
    • Enter the Base URL of your Jenkins server.
    • Under Authentication, select Basic.
    • In the Username field, enter the Jenkins user that you configured above.
    • In the Password field, enter the API token that you configured for that user.
    • Click Use in New Integration. This will save your connected system, and prompt you to set the appropriate security rolemap for it. Once you have done so, click Save.

  3. Appian will then automatically prompt you to create an integration object, which is already configured to use the connected system that you just created. Add a name and description for the integration, and a folder to save it in.
  4. Click Create.
  5. Configure the integration to build the Jenkins job that you created above:
    • In the Relative Path field, enter “job/[the name of your job]/build”.
    • In the Method dropdown, select POST. This automatically updates the Usage radio button to Modifies data.

  6. Click Test Request to test your integration.
    • If the configurations are all correct, you will see a successful response in the right pane.
    • On your Jenkins dashboard, you will also see that a new build for this job has been triggered. Clicking into that build and clicking Console Output will display the results of the pipeline script that you entered.

      Configure a Post-Deployment Process [Appian Designer] (14)

  7. In the integration object, click Save Changes.

Appian is now able to trigger your Jenkins job remotely!

Create a process model

Now that we have created a connected system and integration, we will create a process model that will trigger a Jenkins job after a deployment has completed.

Configure a Post-Deployment Process [Appian Designer] (15)

  1. Create a new process model.
  2. Add 2 process variables: pv!deploymentUUID and pv!status. Appian will automatically populate pv!deploymentUUID with the deployment identifier, and you can use this to query for its status. In the process model toolbar, click the Properties button and select the Variables tab.
  3. Click Add Variable and in the Name field, enter deploymentUUID and set it as type Deployment. This variable will represent the UUID of a deployment.
  4. In the Parameter field, select the Allow the value for the variable to be provided when starting a process checkbox.
  5. Click OK.
  6. Add another variable named status with the type as Text. This variable will represent the status of a deployment. We will use this variable in our script task later on.
  7. Drag and drop a Script Task node between the start node and end node, and name it Check Deployment Status. In this process, we need to check that the deployment has been completed before triggering the Jenkins job.
  8. Double click the Script Task node and select the Data tab.
  9. Select the Output tab and click New Custom Output.
  10. Name the custom output status and in the expression editor, enter a!deployment(pv!deploymentUUID, “status”). We are using a!deployment() to retrieve the deployment status. pv!deploymentUUID represents the deployment UUID, which will be populated after the deployment is finished.
  11. In the Target field, select pv!status. This process variable will store the status of the deployment so we can use it to determine whether the process should continue or end.
  12. Click Save and Close.
  13. Drag and drop an XOR node after the script task, and name it Deployment Completed? Add a connector from the XOR node to the End Node. This XOR node will route the process to the next node or the end node depending on if the deployment has been completed successfully.
  14. Drag and drop Call Integration smart service between the XOR node and the end node. Name it Build Jenkins Job.
  15. Double click the Call Integration smart service node and select the Setup tab.
  16. In the integration picker, select the integration you created above. If you want to create a new integration or edit the existing one, you can do that from here. If you want to map process variables to the integration’s rule inputs, you can do that in the Data tab.
  17. Click OK.
  18. Double click the XOR node and select the Decision tab.
  19. Click NEW CONDITION and in the condition field enter pv!status= “Completed”. “Completed” is the deployment status that indicates a deployment was successful; other statuses may be used depending on the workflow you want to achieve.
  20. In the Result field, select the Call Integration smart service.
  21. In the Result field of the Else if none are true condition, select End Node.
  22. Click OK.
  23. In the File menu, select Save & Publish.

Set the post-deployment process

Now that we have a process model that will call the Jenkins integration and build a job, we are ready to add it as the post-deployment process for our application.

  1. In Appian Designer, select the appropriate application.
  2. In the Deployments View > Incoming tab, click the Modify Selection icon.Configure a Post-Deployment Process [Appian Designer] (16)
  3. In the Post-Deployment Process Model field, select the process model you created above.
  4. In the Process Parameter field, select the appropriate process variable. For this example we will select pv!deploymentUUID.
  5. Click SAVE.

Once your process model has been configured from the deployments view, you can kick off the post-deployment process by using compare and deploy to push changes to the target environment. After the process is complete, you can view the corresponding process instance in the Monitoring View > Process Activity in Appian Designer to check the status of the job itself in Jenkins.

Configure a Post-Deployment Process [Appian Designer] (17)

Configure a Post-Deployment Process [Appian Designer] (2024)

FAQs

How do you compare and deploy in Appian? ›

The compare and deploy feature guides you through a few straightforward steps: Select your target environment. Select the items you want to deploy. These include your application or package, as well as application configurations, database scripts, and plug-ins.

How do I create a package in Appian? ›

Enter the name of the application, then select the application from the dropdown list. If you select an application other than (or in addition to) the current application, Appian first adds the objects from that other application to the current application, then adds the objects to the package.

How do I deploy in Appian? ›

To deploy, you select and package the objects you want to deploy, and then move those changes from a source to a target environment. There are three methods for deploying a package in Appian: Compare and Deploy - Guided push-button deployment of applications and patches across environments.

What is post deployment? ›

When active-duty members of the US military are dispatched from a home base to a conflict zone, it is known as a deployment. Upon return from deployment, they are considered post-deployment. For many Veterans, post-deployment often coincides with the transition from active-duty service status to Veteran status.

What is the difference between implementing and deploying? ›

Deployment refers to the process of releasing and installing software onto target environments, while implementation refers to the overall process of integrating, configuring, and adopting the software within an organization or for end-users, encompassing deployment along with other related activities like training and ...

Where can you monitor incoming and outgoing deployments for Appian applications? ›

The Deploy view provides a single location for you to see and manage both incoming and outgoing deployments.

How do I create a package deployment? ›

Create a Deployment Package
  1. From the App Launcher, find and select Sync Management.
  2. Click Deployment Packages.
  3. Click New.
  4. Enter a name and description for the deployment package.
  5. Click Choose File, and then select a deployment. zip file.
  6. Save your changes.
  7. To create a deployment package assignment, perform these steps.

What are the steps to create a package? ›

First create a directory within name of package. Create a java file in newly created directory. In this java file you must specify the package name with the help of package keyword. Note: only one class in a program can declare as public.

How do I create a dashboard in Appian? ›

Click Add new tab next to the existing tab. Choose Create New to start with a blank tab, or Create New from Library to create a dashboard from a template.

How can I improve my Appian performance? ›

Top Replies

Use only the essential components and keep the interface and process model simple. Enter less data and apply filters to reduce database queries,Use Appian's caching for frequent data access.

How to configure integration in Appian? ›

Create a new integration and configure it by following these steps: In the Build view, click New > Integration. Select Use a connected system and use the Connected System picker to select Authorize.Net. Name the integration GetUnsettledTransactionList and select Create.

Which deployment does Appian support? ›

Appian supports direct deployment, external deployment, and export/import for the objects listed below, presented in alphabetical order.

What are the 5 steps of deployment? ›

The deployment process flow consists of 5 steps: Planning, development, testing, deploying, and monitoring.

What are the 5 stages of deployment? ›

The Five Stages of Deployment

These stages are comprised as follows: pre-deployment, deployment, sustainment, re-deployment and post- deployment. Each stage is characterized both by a time frame and specific emotional challenges, which must be dealt with and mastered by each of the Family members.

What is post deployment phase? ›

Post-Deployment Phase

Out-processing assessments are conducted to determine if responders have been adversely affected by their deployment duties and to what extent. The assessments are also to evaluate trends within the population of workers for the purpose of identifying potential risks to others.

What is the link between scaling and deployments? ›

When you deploy an application in GKE, you define how many replicas of the application you'd like to run. When you scale an application, you increase or decrease the number of replicas. Each replica of your application represents a Kubernetes Pod that encapsulates your application's container(s).

What 3 kinds of backed record types are possible in Appian? ›

Top Replies
  • Entity-backed record.
  • Process-backed record.
  • Service-backed record.
Feb 11, 2022

What is the difference between deployment plan and runbook? ›

A deployment process contains all the necessary steps to deploy your software to your deployment targets. A project can have 0 to 1 deployment processes. A runbook process contains all the necessary steps to manage your software (restart a service, backup files, configure infrastructure, etc.)

What is the difference between application deployment and package deployment? ›

Whereas a package only serves as a software container, an application is so much more. An application contains detection methods which can be configured to trigger the installation based on certain criteria. Within an application, dependencies to other software can be defined.

Top Articles
Latest Posts
Article information

Author: Rubie Ullrich

Last Updated:

Views: 5575

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Rubie Ullrich

Birthday: 1998-02-02

Address: 743 Stoltenberg Center, Genovevaville, NJ 59925-3119

Phone: +2202978377583

Job: Administration Engineer

Hobby: Surfing, Sailing, Listening to music, Web surfing, Kitesurfing, Geocaching, Backpacking

Introduction: My name is Rubie Ullrich, I am a enthusiastic, perfect, tender, vivacious, talented, famous, delightful person who loves writing and wants to share my knowledge and understanding with you.