ivy:deploy-to-engine
Full name:
com.axonivy.ivy.ci:project-build-plugin:12.0.14-SNAPSHOT:deploy-to-engine
Description:
Deploys a single project (iar) or a full application (set of projects as zip) to a running Axon Ivy Engine.
Command line invocation is supported.
Local engine (using DIRECTORY deploy method):
mvn com.axonivy.ivy.ci:project-build-plugin:12.0.0:deploy-to-engine -Divy.deploy.file=myProject.iar -Divy.deploy.engine.dir=c:/axonivy/engine -Divy.deploy.engine.app=Portal
Remote Engine (using HTTP deploy method):
mvn com.axonivy.ivy.ci:project-build-plugin:12.0.0:deploy-to-engine -Divy.deploy.file=myProject.iar -Divy.deploy.method=HTTP -Divy.deploy.server.id=AxonIvyEngine -Divy.deploy.engine.url=http://ivyhost:8080/ivy -Divy.deploy.engine.app=portal
Attributes:
- The goal is not marked as thread-safe and thus does not support parallel builds.
- Since version:
7.1.0.
Required Parameters
| Name | Type | Since | Description |
|---|---|---|---|
<ivyVersion> |
String |
- |
The ivy Engine version or version-range that must be used. Must be equal or higher than "12.0.0" Examples:
Default: 12.0.13User Property: ivy.engine.version |
Optional Parameters
| Name | Type | Since | Description |
|---|---|---|---|
<deployDirectory> |
String |
- |
The auto deployment directory of the engine. Must match the ivy engine system property 'deployment.directory' Default: deployUser Property: ivy.deploy.dir |
<deployEngineDirectory> |
Path |
- |
The path to the Axon Ivy Engine to which we deploy the file.
The path can reference a remote engine by using UNC paths e.g. \\myRemoteHost\myEngineShareDefault: ${ivy.engine.directory}User Property: ivy.deploy.engine.dir |
<deployEngineUrl> |
String |
7.4 |
Engine url for deployment over HTTP or HTTPS Default: http://localhost:8080/ivyUser Property: ivy.deploy.engine.url |
<deployFile> |
Path |
- |
The file to deploy. Can either be a *.iar project file or a *.zip file containing a full application (set of projects). By default the packed IAR from the ch.ivyteam.ivy.maven.IarPackagingMojo.GOAL is used.Default: ${project.build.directory}/${project.artifactId}-${project.version}.iarUser Property: ivy.deploy.file |
<deployMethod> |
String |
7.4 |
The deploy method
Possible values:
Default: DIRECTORYUser Property: ivy.deploy.method |
<deployOptionsFile> |
Path |
- |
The file that contains deployment options. Example options file content:
Inside the options file you can use property placeholders. The options file may look like this:
All options in this file are optional. You only need to specify options that overwrite the default behavior. If configured, all Maven properties are ignored and only values in this file are used. See also: Engine Guide User Property: ivy.deploy.options.file |
<deployServerId> |
String |
7.4 |
Id of server configured in settings.xml that specifies the administrator user name and password used to authenticate in case of HTTP deployment. If you're using an encrypted maven password with a settings-security.xml, you may need to define the location of this file with the property 'settings.security' (default location is ~/.settings-security.xml) User Property: ivy.deploy.server.id |
<deployTargetFileFormat> |
String |
- |
The target file format as which the project will be deployed into the process model version (PMV).
Default: AUTOUser Property: ivy.deploy.target.file.format |
<deployTargetState> |
String |
- |
The target state of all process model versions (PMVs) of the deployed projects.
Default: ACTIVE_AND_RELEASEDUser Property: ivy.deploy.target.state |
<deployTargetVersion> |
String |
- |
The target version controls on which process model version (PMV) a project is re-deployed.
Matching:
Possible values:
Default: AUTOUser Property: ivy.deploy.target.version |
<deployTestUsers> |
String |
- |
If set to true then test users defined in the projects are deployed to the engine. If set to auto then test users will only deployed when engine runs in demo mode. Should only be used for testing.
This option is only in charge if security system is set to Ivy Security System. This means if the security system is Active Directory or Novell eDirectory test users will never deployed. Default: AUTOUser Property: ivy.deploy.test.users |
<deployTimeoutInSeconds> |
Integer |
- |
The maximum amount of seconds that we wait for a deployment result from the engine Default: 30User Property: ivy.deploy.timeout.seconds |
<deployToEngineApplication> |
String |
- |
The name of an ivy application to which the file is deployed. User Property: ivy.deploy.engine.app |
<engineCacheDirectory> |
Path |
- |
Location where ivy engines in required version can be extracted to.
If the Engine does not yet exist, it can be automatically downloaded. Default: ${settings.localRepository}/.cache/ivyUser Property: ivy.engine.cache.directory |
<engineDirectory> |
Path |
- |
Location where an unpacked (may pre-configured) ivy Engine in the required version exists.
If parameter is not set it will be a sub-directory of the If the Engine does not yet exist, it can be automatically downloaded. User Property: ivy.engine.directory |
<skipDeploy> |
boolean |
- |
Set to true to skip the deployment to the engine.Default: falseUser Property: ivy.deploy.skip |
<testEngine> |
String |
8.0.4 |
Configure if the test engine gets copied to the maven target folder. With this you can start each test cycle with a clean engine. Integration tests may leave resources like deployed projects behind which may lead to unwanted side effects on the next test cycle.
Default: COPY_FROM_CACHEUser Property: ivy.test.engine |
<useLatestMinor> |
Boolean |
- |
If set to true it will download the latest available minor version Default: falseUser Property: ivy.engine.version.latest.minor |
Parameter Details
<deployDirectory>
- Type:
java.lang.String - Required:
No - User Property:
ivy.deploy.dir - Default:
deploy
<deployEngineDirectory>
The path can reference a remote engine by using UNC paths e.g.
\\myRemoteHost\myEngineShare- Type:
java.nio.file.Path - Required:
No - User Property:
ivy.deploy.engine.dir - Default:
${ivy.engine.directory}
<deployEngineUrl>
- Type:
java.lang.String - Since:
7.4 - Required:
No - User Property:
ivy.deploy.engine.url - Default:
http://localhost:8080/ivy
<deployFile>
ch.ivyteam.ivy.maven.IarPackagingMojo.GOAL is used.- Type:
java.nio.file.Path - Required:
No - User Property:
ivy.deploy.file - Default:
${project.build.directory}/${project.artifactId}-${project.version}.iar
<deployMethod>
Possible values:
DIRECTORY: use filesystem to deploy to local engineHTTP: use HTTP or HTTPS to deploy to a remote engine
- Type:
java.lang.String - Since:
7.4 - Required:
No - User Property:
ivy.deploy.method - Default:
DIRECTORY
<deployOptionsFile>
The file that contains deployment options.
Example options file content:deployTestUsers: auto
target:
version: RELEASED
state: ACTIVE_AND_RELEASED
Inside the options file you can use property placeholders. The options file may look like this:
deployTestUsers: ${ivy.deploy.test.users}
target:
version: AUTO
state: ${ivy.deploy.target.state}
All options in this file are optional. You only need to specify options that overwrite the default behavior.
If configured, all Maven properties are ignored and only values in this file are used.
See also: Engine Guide
- Type:
java.nio.file.Path - Required:
No - User Property:
ivy.deploy.options.file
<deployServerId>
- Type:
java.lang.String - Since:
7.4 - Required:
No - User Property:
ivy.deploy.server.id
<deployTargetFileFormat>
AUTO: Keep the format of the origin project file if possible. Deploys IAR or ZIP projects into a ZIP process model version.
But if the target PMV already exists as expanded directory, the new version will be expanded as well.PACKED: Enforce the deployment of a project as zipped file. Normal (expanded) project directories will be compressed into a ZIP during deployment.EXPANDED: Enforce the deployment of a project as expanded file directory.
This is recommended for projects that change the project files at runtime. E.g. projects that use the Content Management (CMS) write API.
The expanded format behaves exactly like projects deployed with Axon Ivy 7.0 or older. You might choose to deploy expanded projects in order to avoidjava.nio.file.ReadOnlyFileSystemExceptionat runtime.
Warning: Expanded projects will perform slower at runtime and are therefore not recommended.
- Type:
java.lang.String - Required:
No - User Property:
ivy.deploy.target.file.format - Default:
AUTO
<deployTargetState>
ACTIVE_AND_RELEASED: PMVs are activated and released after the deploymentACTIVE: PMVs are activated but not released after the deploymentINACTIVE: PMVs are neither activated nor released after the deployment
- Type:
java.lang.String - Required:
No - User Property:
ivy.deploy.target.state - Default:
ACTIVE_AND_RELEASED
<deployTargetVersion>
Matching:
- In all cases the library identifier (group id and project/artifact id) of the PMV and the project has to be equal.
- If multiple PMVs match the target version then the PMV with the highest library version is chosen.
- If no PMV matches the target version then a new PMV is created and the project is deployed to the new PMV.
Possible values:
AUTO: a project is re-deployed if the version of the PMV is equal to the project's version.RELEASED: a project is re-deployed to the released PMV. The version of the PMV and the project does not matter- Maven version range: a project is re-deployed if the version of the PMV matches the given range. Some samples:
,- Matches all version.,2.5]- Matches every version up to 2.5 inclusive.(2.5,- Matches every version from 2.5 exclusive.[2.0,3.0)- Matches every version from 2.0 inclusive up to 3.0 exclusive.2.5- Matches every version from 2.5 inclusive.
- Type:
java.lang.String - Required:
No - User Property:
ivy.deploy.target.version - Default:
AUTO
<deployTestUsers>
true then test users defined in the projects are deployed to the engine. If set to auto then test users will only deployed when engine runs in demo mode. Should only be used for testing.
This option is only in charge if security system is set to Ivy Security System. This means if the security system is Active Directory or Novell eDirectory test users will never deployed.
- Type:
java.lang.String - Required:
No - User Property:
ivy.deploy.test.users - Default:
AUTO
<deployTimeoutInSeconds>
- Type:
java.lang.Integer - Required:
No - User Property:
ivy.deploy.timeout.seconds - Default:
30
<deployToEngineApplication>
- Type:
java.lang.String - Required:
No - User Property:
ivy.deploy.engine.app
<engineCacheDirectory>
If the Engine does not yet exist, it can be automatically downloaded.
- Type:
java.nio.file.Path - Required:
No - User Property:
ivy.engine.cache.directory - Default:
${settings.localRepository}/.cache/ivy
<engineDirectory>
required version exists.
If parameter is not set it will be a sub-directory of the engineCacheDirectory.
If the Engine does not yet exist, it can be automatically downloaded.
- Type:
java.nio.file.Path - Required:
No - User Property:
ivy.engine.directory
<ivyVersion>
- "
6.1.2" means ivyVersion = 6.1.2 - "
[6.1.0,7.0.0)" means 6.1.0 <= ivyVersion < 7.0.0 - "
(6.0.0,]" means ivyVersion > 6.0.0
- Type:
java.lang.String - Required:
Yes - User Property:
ivy.engine.version - Default:
12.0.13
<skipDeploy>
true to skip the deployment to the engine.- Type:
boolean - Required:
No - User Property:
ivy.deploy.skip - Default:
false
<testEngine>
COPY_FROM_CACHE= copy the engine if it comes from thech.ivyteam.ivy.maven.AbstractEngineMojo.engineCacheDirectory.MODIFY_EXISTING= don't copy the engine, this could lead to unforeseen behaviour if the same engine is used multiple times.COPY_FROM_TEMPLATE= always copy the engine. If you have a preconfigured engine in thech.ivyteam.ivy.maven.AbstractEngineMojo.engineDirectoryit will be copied as well.- Note: that we advise you to move the configuration of such engine to the build cycle itself instead of using a preconfigured one.
- Type:
java.lang.String - Since:
8.0.4 - Required:
No - User Property:
ivy.test.engine - Default:
COPY_FROM_CACHE
<useLatestMinor>
- Type:
java.lang.Boolean - Required:
No - User Property:
ivy.engine.version.latest.minor - Default:
false
