Introduction
The Payara Qube (Managed) Maven plugin lets you manage applications in the managed environment. It provides commands to log in, deploy, start, stop, undeploy, and enable continuous deployment of applications with live browser reload.
The plugin requires JDK 8 or higher, and the latest version is 1.0-Alpha1
.
Configurable Goals
login
Aim: This goal logs in to a Payara Qube (Managed) environment. It initiates a browser-based flow to reach the Payara Qube (Managed) management endpoint and stores the token in the home directory.
Usage: mvn payara-cloud:login
Example:
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-cloud-maven-plugin</artifactId>
<version>${payara.cloud.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>login</goal>
</goals>
</execution>
</executions>
</plugin>
Element | Default | Notes |
---|---|---|
applicationName |
${project.artifactId} |
Name of the application. |
subscriptionName |
First available subscription |
Name of the subscription to use. Defaults to the first available subscription if not specified. |
namespaceName |
First available namespace |
Name of the namespace to use. Defaults to the first available namespace if not specified. |
interactive |
true |
If set to true, enables interactive mode. |
skip |
false |
Skips the execution of the goal. |
login
goal uses OAuth Device Authentication flow to establish its identity to Payara Qube (Managed).
It will generate a confirmation code, which you use to log in to the Payara Qube (Managed) web interface via browser.
mvn payara-cloud:login INFO: In order to log in follow following link: https://login.payara.cloud/activate INFO: Your confirmation code is XZHD-CFDJ INFO: Opening URL: https://login.payara.cloud/activate?user_code=XZHD-CFDJ
The client will also open the browser for you if your environment permits it. In case you follow link manually you’ll need to enter the confirmation code on first page:
After that a confirmation page is displayed:
Only confirm this page if you knowingly initiated login flow via pcl login , payara-cloud-maven-plugin or Payara IDE plugins .
Payara Qube (Managed) will never ask you to authenticate via this flow via any other channel or under any other circumstance, such as solving a support issue.
|
If you are logging in for the first time the authentication service will ask you to authorize Payara Qube (Managed) CLI to perform application management tasks with your identity:
After confirming this, the authentication process is completed and you may close the browser window:
Managing tokens
After login is complete the relevant token is stored in $HOME/.payara/manage.payara.cloud
.
The token does not have any expiration time, so you will not need to log in again for when using pcl
.
Tokens can be invalidated remotely via User Preferences screen in Payara Qube (Managed) Web UI.
deploy
Aim: This goal uploads an application binary and deploys an existing application. It can be used to provide a new binary for an existing application or to upload a new application into a namespace.
Usage: mvn payara-cloud:deploy
Example:
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-cloud-maven-plugin</artifactId>
<version>${payara.cloud.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
<configuration>
<applicationPath>${project.build.directory}/${project.build.finalName}.war</applicationPath>
<applicationName>myApp</applicationName>
<subscriptionName>mySubscriptionName</subscriptionName>
<namespaceName>myNamespaceName</namespaceName>
</configuration>
</plugin>
Element | Default | Notes |
---|---|---|
applicationPath |
${project.build.directory}/${project.build.finalName}.war |
Path to the application binary. |
applicationName |
${project.artifactId} |
Name of the application. |
subscriptionName |
First available subscription |
Name of the subscription to use. Defaults to the first available subscription if not specified. |
namespaceName |
First available namespace |
Name of the namespace to use. Defaults to the first available namespace if not specified. |
interactive |
true |
If set to true, enables interactive mode. |
skip |
false |
Skips the execution of the goal. |
start
Aim: This goal starts an application in Payara Qube (Managed). It is used when an application is in a stopped state.
Usage: mvn payara-cloud:start
Example:
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-cloud-maven-plugin</artifactId>
<version>${payara.cloud.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>start</goal>
</goals>
</execution>
</executions>
<configuration>
<applicationName>myApp</applicationName>
<subscriptionName>mySubscriptionName</subscriptionName>
<namespaceName>myNamespaceName</namespaceName>
</configuration>
</plugin>
Element | Default | Notes |
---|---|---|
applicationName |
${project.artifactId} |
Name of the application. |
subscriptionName |
First available subscription |
Name of the subscription to use. Defaults to the first available subscription if not specified. |
namespaceName |
First available namespace |
Name of the namespace to use. Defaults to the first available namespace if not specified. |
interactive |
true |
If set to true, enables interactive mode. |
skip |
false |
Skips the execution of the goal. |
stop
Aim: This goal stops a deployed application in Payara Qube (Managed).
Usage: mvn payara-cloud:stop
Example:
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-cloud-maven-plugin</artifactId>
<version>${payara.cloud.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
<configuration>
<applicationName>myApp</applicationName>
<subscriptionName>mySubscriptionName</subscriptionName>
<namespaceName>myNamespaceName</namespaceName>
</configuration>
</plugin>
Element | Default | Notes |
---|---|---|
applicationName |
${project.artifactId} |
Name of the application. |
subscriptionName |
First available subscription |
Name of the subscription to use. Defaults to the first available subscription if not specified. |
namespaceName |
First available namespace |
Name of the namespace to use. Defaults to the first available namespace if not specified. |
interactive |
true |
If set to true, enables interactive mode. |
skip |
false |
Skips the execution of the goal. |
undeploy
Aim: This goal deletes the deployed application from Payara Qube (Managed).
Usage: mvn payara-cloud:undeploy
Example:
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-cloud-maven-plugin</artifactId>
<version>${payara.cloud.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>undeploy</goal>
</goals>
</execution>
</executions>
<configuration>
<applicationName>myApp</applicationName>
<subscriptionName>mySubscriptionName</subscriptionName>
<namespaceName>myNamespaceName</namespaceName>
</configuration>
</plugin>
Element | Default | Notes |
---|---|---|
applicationName |
${project.artifactId} |
Name of the application. |
subscriptionName |
First available subscription |
Name of the subscription to use. Defaults to the first available subscription if not specified. |
namespaceName |
First available namespace |
Name of the namespace to use. Defaults to the first available namespace if not specified. |
interactive |
true |
If set to true, enables interactive mode. |
skip |
false |
Skips the execution of the goal. |
dev
Aim: The dev goal enables continuous deployment of the application on source code changes with live browser reload.
Usage: mvn payara-cloud:dev
Example:
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-cloud-maven-plugin</artifactId>
<version>${payara.cloud.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>dev</goal>
</goals>
</execution>
</executions>
<configuration>
<applicationPath>${project.build.directory}/${project.build.finalName}.war</applicationPath>
<autoDeploy>true</autoDeploy>
<liveReload>true</liveReload>
<browser>chrome</browser>
<applicationName>myApp</applicationName>
<subscriptionName>mySubscriptionName</subscriptionName>
<namespaceName>myNamespaceName</namespaceName>
</configuration>
</plugin>
Element | Default | Notes |
---|---|---|
applicationPath |
${project.build.directory}/${project.build.finalName}.war |
Path to the application binary. |
autoDeploy |
true |
Enables automatic deployment on file changes. |
liveReload |
true |
Enables live browser reload on deployment. |
browser |
auto detects |
Specifies the browser for live reload. |
applicationName |
${project.artifactId} |
Name of the application. |
subscriptionName |
First available subscription |
Name of the subscription to use. Defaults to the first available subscription if not specified. |
namespaceName |
First available namespace |
Name of the namespace to use. Defaults to the first available namespace if not specified. |
interactive |
true |
If set to true, enables interactive mode. |
skip |
false |
Skips the execution of the goal. |
list-subscriptions
- Aim
-
This goal lists all available subscriptions in Payara Qube (Managed).
- Usage
-
mvn payara-cloud:list-subscriptions
- Example
<plugin> <groupId>fish.payara.maven.plugins</groupId> <artifactId>payara-cloud-maven-plugin</artifactId> <version>${payara.cloud.maven.plugin.version}</version> <executions> <execution> <goals> <goal>list-subscriptions</goal> </goals> </execution> </executions> </plugin>
Element | Default | Notes |
---|---|---|
interactive |
true |
If set to true, enables interactive mode. |
skip |
false |
Skips the execution of the goal. |
list-namespaces
- Aim
-
This goal lists all available namespaces in Payara Qube (Managed).
- Usage
-
mvn payara-cloud:list-namespaces
- Example
<plugin> <groupId>fish.payara.maven.plugins</groupId> <artifactId>payara-cloud-maven-plugin</artifactId> <version>${payara.cloud.maven.plugin.version}</version> <executions> <execution> <goals> <goal>list-namespaces</goal> </goals> </execution> </executions> <configuration> <subscriptionName>mySubscriptionName</subscriptionName> </configuration> </plugin>
Element | Default | Notes |
---|---|---|
subscriptionName |
First available subscription |
Name of the subscription to use. Defaults to the first available subscription if not specified. |
interactive |
true |
If set to true, enables interactive mode. |
skip |
false |
Skips the execution of the goal. |
list-applications
- Aim
-
This goal lists all deployed applications in Payara Qube (Managed).
- Usage
-
mvn payara-cloud:list-applications
- Example
<plugin> <groupId>fish.payara.maven.plugins</groupId> <artifactId>payara-cloud-maven-plugin</artifactId> <version>${payara.cloud.maven.plugin.version}</version> <executions> <execution> <goals> <goal>list-applications</goal> </goals> </execution> </executions> <configuration> <subscriptionName>mySubscriptionName</subscriptionName> <namespaceName>myNamespaceName</namespaceName> </configuration> </plugin>
Element | Default | Notes |
---|---|---|
subscriptionName |
First available subscription |
Name of the subscription to use. Defaults to the first available subscription if not specified. |
namespaceName |
First available namespace |
Name of the namespace to use. Defaults to the first available namespace if not specified. |
interactive |
true |
If set to true, enables interactive mode. |
skip |
false |
Skips the execution of the goal. |