Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In the SVN repository we will have Servoy solutions that need to be automatically tested using import-smart-client and a solution to be automatically tested in mobile-test-client. The ANT scripts used by Jenkins to automatically export and test Servoy solutions will be in a separate project "antRunner" in the same SVN repository.

This is what will happen when a Servoy - Jenkins job (defined later in this chapter) runs:

  1. changes are fetched from SVN (solution projects, resources project(s), antRunner project);
  2. root solutions are exported as .servoy files or .war mobile files. (because the .servoy workspace exporter uses the "-dbi" option in the sample ant scripts, it will not need databases to be online, but servoy.properties must still contain the required server definitions; for the sample workspace servoy.properties is already configured correctly);
  3. test client starts a database repository - based on the repository database that must be defined in servoy.properties (if it is not defined to be an in-memory server / HSQL, then the database must be online; for the sample workspace it will use an in-memory server, so no database needs to be started);
  4. solutions from (2) are imported into that repository (.servoy files) or in Servoy's embedded Tomcat (for mobile .war files) (databases needed by the solutions must be online if not defined as in-memory; for the sample workspace no database server needs to be started);
  5. tests run on those solutions in a test client (which is either a slightly modified smart client - to not block with modal dialogs when errors occur for example, or a slightly modified version of mobile client);
  6. results are published and emails are sent if necessary.

Step 1 -- Sample workspace and SVN content

...