Skip to content

Getting Started

LemonTree.Automation is a headless (no UI), server-based version of LemonTree, that can automatically perform consistency checks, compare and merge models as well as publish and import LemonTree Components.

New Features in 4.0.0

With latest 4.0.0 release LemonTree.Automation now also can generate an optional XML diffreport on any diff/merge action, export Diagrams as SVG files and transform EAP(X) to QEA(X) format or the other way around.

It is build to be able to deployed easily on your agents allowing integration into your Jenkins, Teamcity or similar workflows.

How to Install LemonTree.Automation

There are few general ways to setup LemonTree.Automation. We recommend a zipped deployment for most use-cases.

Zipped Deployment

You can download the latest version from our server via

Invoke-WebRequest -Uri https://nexus.lieberlieber.com/repository/lemontree-release/LemonTree.Automation/LemonTree.Automation.Windows.Zip_latest.zip -outfile "lta.zip"

Just extract to a folder of your choice and you are ready to go.

Zipped Linux Deployment

Download and unzip on a Linux Machine and run

Invoke-WebRequest -Uri https://nexus.lieberlieber.com/repository/lemontree-release/LemonTree.Automation/LemonTree.Automation.Linux.Zip_latest.zip -outfile "lta.zip"

Just extract to a folder of your choice and you are ready to go.

Github Action

You can also use our Github Action directly from the GitHub marketplace.

- name: Get LemonTreeAutomation
  uses: LieberLieber/setup-LemonTree.Automation@v1.0

Just add those two lines to your runners .yml file. More details here.

Install via Docker container

Please pull the current docker image from our nexus server

docker pull nexus.lieberlieber.com:5000/lieberlieber/lemontree.automation:latest

Licensing

Direct license deployment

The most straightforward approach is to add the a license file directly on your agent. We recommend adding your license file to the following directory:

%programdata%\LieberLieber\LemonTree.Automation\Licenses

For other possible license location please refer to the license section.

Remote deployment

Another approach is to supply the license with each command. Just add --license command with the path to your .lic file. In our example repositories we typically store the "License Text" in a Secret and create the .lic file on the fly when we execute the build skript.

--license C:\Path\To\your\License.lic

Floating license

Last option is to utilize a central rlm server adding your license(s) to it. This way your agents only request their license during runtime managing check-out and -in automatically. You still need a .lic file locally but with only one line.

HOST (Hostname) ANY (Port)

For more information see Licensing#Floating.

Your first operations

To test your setup here are two easy commands to get started with LemonTree.Automation

ConsistencyCheck

This command runs a consistency check on the model given. The first file should have no inconsistencies.

.\LemonTree.Automation.exe consistencycheck --model "%programfiles(x86)%\Sparx Systems\EA\EABase.eapx"

cmd1

Writing the output of this run directly into a file, because it's a bit to much for the console.

.\LemonTree.Automation.exe consistencycheck --model "%programfiles(x86)%\Sparx Systems\EA\EAExample.qea" > output.log
log

Two Way Merge

This is a basic two way merge between an empty model (EABase.eapx) and the example model (EAExample.eap). The command writes the merged eapx file and a session file to "C:\tmp\"

.\LemonTree.Automation.exe merge --mine "%programfiles(x86)%\Sparx Systems\EA\EABase.eapx" --theirs "%programfiles(x86)%\Sparx Systems\EA\EAExample.eap" --out C:\tmp\merged.eapx --sfs  C:\tmp\session.ltsfs

cmd1

More Information and sample Scripts

We build a public trainings repo under https://github.com/LieberLieber/LemonTree.Training , feel free to fork it and try own your own.

Additional sample Workflows and Scripts in Python, Powershell or Batch are available at https://github.com/LieberLieber/LemonTree.Automation.Workflows.

Contact us to get your trial today!