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

Easily enforce open source policies in real time and reduce MTTRs from six weeks to six seconds with the Sonatype Nexus Platform. See for yourself - Free Vulnerability Scanner. 

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.

Automate open source governance at scale across the entire software supply chain with the Nexus Platform. Learn more.

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 }}