...
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 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.
...
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 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)
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.
...