Advanced Deployment
To fully automate your CI/CD pipeline, you may want to further configure your target application of your deployment and also influence the deployment behavior.
Application Configuration
If you are deploying a full application zip-archive you can optionally add an
app.yaml in a dedicated config
folder of your zip-archive,
which contains the configuration of the application.
1# sample app.yaml which can be part of the full application zip-archive
2StandardProcess:
3 DefaultPages: ch.ivyteam.ivy.project.portal:portalTemplate
This file should always contain configurations which are the same for all
installations of the application or serve as good defaults like configuration of
the StandardProcess
.
Priority
The app.yaml
will be deployed into the config
folder of the
application itself and serves as additional configuration for the application,
but with a lower priority than the regular <APPNAME>/app.yaml
(e.g., myApp/app.yaml
) in the configuration
directory.
Overriding Variables
The app.yaml
file can override Variables declared in projects.
If these variables are values of type file (e.g [file: json]
), then
these files values can also be overriden by adding them to the app.zip
under <app.zip>/config/variables/myVariableName.json
as shown below.
app.zip
├── config
│ |──variables
| | └─ userSettings.json
│ └── app.yaml
├── base.iar
├── solution.iar
└── customer.iar
Versioning
It is highly recommended that you increase the version of your project each time you want to deploy a new version of your project on the engine. This ensures that you will not break currently running cases, and you have the possibility to go back to the previous version if the new version does not work as expected.
Even though overwriting an already deployed process model version with running cases is possible. It is at your own risk and should only be done if you are aware of the possible consequences and ready to accept them.
Deployment Options
With deployment options you can influence the deployment behavior:
1# Example of a deployment options file using YAML format.
2# See http://axonivy.github.io/project-build-plugin/release/deploy-to-engine-mojo.html for
3# more information about deployment options parameters.
4# All parameters are set to their default values and listed in [brackets].
5
6# Indicates whether project test users should be deployed to the engine or not.
7deployTestUsers: AUTO # [AUTO], TRUE, FALSE
8
9# Deployment target settings.
10target:
11 version: AUTO # [AUTO], RELEASED, (version values, e.g. 2.5 or (2.0,3.0])
12 state: ACTIVE_AND_RELEASED # [ACTIVE_AND_RELEASED], ACTIVE, INACTIVE
13 fileFormat: AUTO # [AUTO], PACKED, EXPANDED
See the Axon Ivy Project Build Plugin deploy documentation for more information about the deployment properties.
There are multiple locations where you can put your options file:
Deployment specific options file - If you want to provide options for a single deployment simply create a file that has the same prefix as the file you want to deploy with a suffix of
.options.yaml
. E.g., if the file you want to deploy ismyProject.iar
then create an options file that is calledmyProject.iar.options.yaml
. Note, that after the deployment themyProject.iar.options.yaml
file will be removed automatically.Inside the file that you are deploying - Put a
deploy.options.yaml
file inside your project directory,*.iar
or*.zip
that you want to deploy.
A specific deployment options file will take precedence over options packed in the deployable file.