mule-runtime::partial$mmp-concept.adoc
reuse::partial$non-inclusive-banner.adoc
In addition to using Anypoint Studio, Anypoint Runtime Manager, or the Anypoint Platform CLI to deploy applications to CloudHub, you can also deploy, redeploy, or undeploy applications by using the Mule Maven plugin. To do so, you must meet certain prerequisites, and configure your CloudHub deployment strategy in your project’s pom.xml
file.
If you want to deploy applications to CloudHub using a different method, see:
-
Deploy Applications to CloudHub Using Anypoint Studio
-
Deploy Applications to CloudHub Using the Anypoint CLI
-
Deploy Applications to CloudHub Using Runtime Manager
Before you can deploy to CloudHub using the Mule Maven plugin, you must complete the following tasks:
-
Add the Mule Maven plugin to your project
See Add the Mule Maven Plugin to a Mule Project for instructions.
-
If you are using the HTTP Listener as source for your flow, you need to set its host to 0.0.0.0 and its port to ${http.port}
-
Declare all external classes and resources in the
exportedPackages
andexportedResources
fields on themule-artifact.json
file
Configure the CloudHub deployment strategy in your project’s pom.xml
file so you can deploy, redeploy and undeploy your Mule application using the Mule Maven plugin.
Inside the plugin
element in your project’s pom.xml
file, configure your CloudHub deployment, replacing the placeholder values with your CloudHub information:
<plugin>
link:mule-runtime::example$mmp-concept-config.xml[role=include]
<configuration>
<cloudHubDeployment>
<uri>https://anypoint.mulesoft.com</uri>
<muleVersion>${app.runtime}</muleVersion>
<username>${username}</username>
<password>${password}</password>
<applicationName>${cloudhub.application.name}</applicationName>
<environment>${environment}</environment>
<region>${region}</region>
<workers>${workers}</workers>
<workerType>${workerType}</workerType>
<properties>
<key>value</key>
</properties>
</cloudHubDeployment>
</configuration>
</plugin>
From the command line in your project’s folder, package the app and execute the deploy goal:
mvn clean deploy -DmuleDeploy
To redeploy a Mule application using Mule Maven plugin, run mvn clean deploy -DmuleDeploy
as you did to previously deploy the app. CloudHub rewrites the app you had deployed.
To undeploy a Mule application using Mule Maven plugin, run the following command:
mvn mule:undeploy
The undeploy command also deletes the app in Mule Maven plugin 3.3.0 and later versions.
mule-runtime::partial$mmp-concept.adoc
mule-runtime::partial$mmp-concept.adoc
For a detailed description of the configuration parameters, see the CloudHub Deployment Reference.
The following table shows the available parameters to configure the CloudHub deployment strategy in your project’s pom.xml
file.
Parameter | Description | Required |
---|---|---|
|
Top-level element |
Yes |
|
Your Anypoint Platform URI |
No |
|
The Mule runtime engine version to run in your CloudHub instance. Starting with Mule 4.5, deployments to CloudHub require Major.Minor version, which deploys the latest version of Mule runtime.
Example value: |
Yes |
|
Your CloudHub username |
Only when using Anypoint Platform credentials to login. |
|
Your CloudHub password |
Only when using Anypoint Platform credentials to login. |
|
The name of your application in CloudHub |
Yes |
|
The absolute path of the JAR file to be deployed |
No |
|
The CloudHub environment to which you want to deploy <environment>Sandbox</environment> |
Yes mule-runtime::partial$mmp-concept.adoc |
|
The number of workers |
No |
|
Size of each worker; one of the following values:
|
No |
|
Region of worker clouds; one of the following values:
|
No |
|
Enables Object Store V2 |
No |
|
Enables persistent queues |
No mule-runtime::partial$mmp-concept.adoc mule-runtime::partial$mmp-concept.adoc mule-runtime::partial$mmp-concept.adoc mule-runtime::partial$mmp-concept.adoc mule-runtime::partial$mmp-concept.adoc mule-runtime::partial$mmp-concept.adoc mule-runtime::partial$mmp-concept.adoc mule-runtime::partial$mmp-concept.adoc |
|
When set to |
No |
|
When set to |
No |
mule-runtime::partial$mmp-concept.adoc
+
<plugin>
...
<configuration>
...
<cloudHubDeployment>
...
<server>my.anypoint.credentials</server>
...
</cloudHubDeployment>
...
</configuration>
...
<plugin>
+ NOTE: Make sure that the username and password are not set in the deployment configuration, or they will overwrite the defined server ID.