Versions Compared

Key

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

...

Jenkins/CruiseControl are very flexible in how they can be configured and the methods and strategies can differ depending on a variety of factors. In the case of using them with Servoy, we utilize their ability to run ANT scripts. With these ANT scripts, another tool in Servoy Developer exports the solution into a .servoy file, then another ANT script runs a smart client based test client that will import the solution into a repository and run unit tests. Finally, if unit tests are passed, an export file is created in a folder - ready to be imported automatically into a test application server.

Rather than explain everything in detail that can be done with Jenkins/CruiseControl and a Servoy project, it is more beneficial to provide an example of Jenkins/CruiseControl and the supporting applications configured for a continuous build server. The "Building the Servoy Software Factory" section will cover in detail setting up a continuous build server for a Servoy project.

...

Updating a Servoy Application Automatically

Once we have a proper proper .servoy file and it has passed unit testing (via our continuous build software), we would like to take it one step further and make the build available to the team for testing and use. This section talks about how to setup a Servoy Application Server to automatically import solutions.

...

At this time, there is no built in functionality to import import .servoy files, nor is there any API available in the maintenance plug in for this functionality. It is possible to post to an application server and import a solution in that manner. An example importer solution is available at https://subversion.servoy.com/examples/SoftwareFactoryUtils/trunk/AppServerUpdater

The importer solution will use the post the export file to the application server as if it were a web service. The solution import occurs, and the solution becomes available to the clients of that web server immediately. The import is triggered by changes to a .servoy file; when the file is changed via the build server process, an import occurs.

...

Perform all steps in the guide on how to install Jenkins and configure it to automatically build and test Servoy Solutions that can be found here.

(alternatively you could , it is possible to set up CruiseControl using this guide - that will no longer be updated after Servoy 7.2 release)

Step 2 - Install/Start Servoy Server Importer

If you have this is not already done soyet, install another instance of Servoy as an application server Application Server to act as the automatic build server. This can run the batch process for updating another Servoy Application Server, or you it can just have it update itself and use it as the build server that holds the latest version of the software ready to be tested. Be sure to configure the ports accordingly so that there are no port conflicts.

...