ivy:deploy-to-test-engine
Full name:
com.axonivy.ivy.ci:project-build-plugin:12.0.14-SNAPSHOT:deploy-to-test-engine
Description:
Deploys a set of test projects (iar) or a full application (set of projects as zip) to a running test engine.
By default the IAR of the current project plus all declared IAR dependencies will be deployed to the test engine.
Attributes:
- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope:
test. - The goal is not marked as thread-safe and thus does not support parallel builds.
- Since version:
9.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 |
|---|---|---|---|
<deployDepsAsApp> |
boolean |
- |
If set to true, the 'deployFile' will automatically be replaced with an ZIP file that contains all IAR dependencies of the project.
This change will only be applied if 'deployFile' has it's default value and at least one IAR dependency has been declared. Default: trueUser Property: ivy.deploy.deps.as.app |
<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 |
<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 |
<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 |
<skipTest> |
boolean |
- |
Set to true to skip the test deployment to engine.Default: falseUser Property: maven.test.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
<deployDepsAsApp>
true, the 'deployFile' will automatically be replaced with an ZIP file that contains all IAR dependencies of the project.
This change will only be applied if 'deployFile' has it's default value and at least one IAR dependency has been declared.
- Type:
boolean - Required:
No - User Property:
ivy.deploy.deps.as.app - Default:
true
<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
<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
<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
<skipTest>
true to skip the test deployment to engine.- Type:
boolean - Required:
No - User Property:
maven.test.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
