Automated Tests, Docker and Jenkins CI


Since ESDK Apps might be installed by abas Customers without the need to contact the ESDK App’s developers, the abas Software GmbH requires the ESDK App developers to thoroughly test their Apps before delivering them to abas Customers.

A customers abas ERP client is highly sensible and requires great care when customizing and adding new functionality.

Part of the testing process of an ESDK App should always be automated tests. abas Essentials SDK supports the use of automated test frameworks such as JUnit to test the application logic and its interaction with the different components of the ESDK App.

Check out our sample projects for a closer look on how to approach automated testing.



For ESDK an abas ERP client and a Sonatype Nexus Artifact Server are prerequisites when starting app development. There are different ways of deploying both resources, ranging from deploying them all centralized and manually to using docker to run them on your local machine.

Choosing deployment with Docker not only reduces setup time and makes it possible to develop offline, it also gives you the possibility to test against multiple different abas ERP versions without much configuration setup. Additionally, you can at any point just remove and restart your containers and start installing your ESDK App from scratch.



Using Jenkins as Continuous Integration Server not only enables you to run your automated tests in a clean environment, but also gives you the possibility to publish and deploy your ESDK App automatically.

Pipelines in Jenkins consists of stages, each stage has a specified purpose and can consist of one or more Pipeline steps.

When you add a web hook for your Jenkins job to your central source code management, such as Bitbucket, you can trigger building your code on every repository push. You can even configure to do different steps depending on whether you are on a feature branch or the master branch.

Jenkins even lets you specify manual steps. This means your pipeline runs until a manual approval is needed. This can be used for the deployment of your ESDK App in a productive client or the release of a new version of your ESDK App.