Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Automate Deployments to Payara Application Server

DZone's Guide to

Automate Deployments to Payara Application Server

Learn how to automate the deployment of apps to the Payara application server in this tutorial.

· DevOps Zone ·
Free Resource

Automatic continuous monitoring keeps continuous deployment pipelines flowing smoothly and efficiently. Try Instana APM to automatically monitor containers and microservices!

In the previous post, I talked about Automated deployments to GlassFish application server. Payara is an open-source application server derived from GlassFish, so basically, the FlexDeploy GlassFish plugin works with Payara as well. I have installed Payara on my laptop using a zip download. Payara can be started using the asadmin command line utility, but in my case, I started the Payara domain using the Start Domain operation of the FlexDeploy plugin, which I will not describe in this post, but it is fairly straightforward to use start and stop plugin operations in the Utility workflow.

We will first set up a FlexDeploy workflow with three simple steps. First, make sure the domain is running, then undeploy the application and then deploy a new version of the application.

Configurations in FlexDeploy are done by creating logical Instances (we will name it Payara) and associating them with environments like Development, Test, Pre-Production, Production, etc. In this example, let’s configure Payara server in a Development environment.

We will not talk about build workflow, but you can use Ant, Maven, JDeveloper, or even a Shell plugin to create a war or ear file from source code.

A FlexDeploy Project is basically the artifact(s) being managed as a group. In this case, I will use sample.war to demonstrate deployment to the Payara application server. I have created a FlexDeploy Project to build this war file and then deploy it using the workflow shown above. A deployment request is submitted as it would be for any other type of artifact in FlexDeploy where you will pick the Project Version and Environment.

You can manually submit a request or automate the entire process by using Continuous Integration configurations, or even use Release and Pipelines to continuously deliver changes through various environments. In any case, FlexDeploy allows you to setup Deployment Schedules and/or Approvals, which are provided by the FlexDeploy platform and work for any type of artifact being managed.

As always, you can view logs and steps from workflow execution in the FlexDeploy UI. At the end of deploy workflow execution, the application will be available for use.

Now you can set up continuous integration for your application(s) through FlexDeploy. You can also automate other supporting artifacts for your applications by using other FlexDeploy plugins. For example, JDBC or Oracle Database plugins can be used to automate management of database objects along with application deployments. You can use Test Automation to run automated tests during the build or deploy process to make sure the application being delivered is of good quality. You can even automate resource creation in Payara application server by using the Shell plugin, where FlexDeploy does not yet provide an out-of-box plugin. Even better, you can develop your own FlexDeploy plugins using the Plugin SDK. Now, enjoy the benefits of automation.

Automatic real-time observability is critical to getting the full benefit of CI/CD. Hear @DevOpsDon discuss how Franklin American Mortgage Company cut their new application deployment time from 6-12 months to 2 weeks with the help of Instana APM.

Topics:
devops ,payara ,java ee ,tutorial ,automation ,deployment ,continuous integration

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}