Stoc |
---|
...
Continuous integration and continuous builds are mainstay features of modern software factories.
Continuous integration is the practice of development changes being tested, built, and reported in small increments during the development process. Continuous build is an extension of this practice to provide a newly tested build of the software every time a developer commits changes.
...
Understanding continuous integration principles, in conjunction with continuous build tools, helps drive an efficient software factory, and by extension, efficient software development. These principles include:
With these principles in mind, the developer's role in the continuous integration process can be summarized as follows. Developers should:
Software tools can help with managing and practicing continuous integration; in fact, continuous builds are normally vastly software driven. Software considerations include:
There are many different choices for continuous build software available, such as Jenkins, CruiseControl, Continuum, Bamboo, and others.
This tutorial shows how to use Jenkins for the task at hand. There is also a sample page about using CruiseControl, but this one will not be updated in the future.
...
In regards to Servoy projects, Jenkins/CruiseControl is used to fill the following needs in our software factory
...
Info |
---|
If you will try this on a headless Linux, make sure you do have an X11 (UI) installed (required by the import test client). You can use for example Xvfb for those that are meant to be headless. |
...
Once we have a 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 .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
...
Other changes can be made to the importSolution method to adjust import settings if necessary.
...
This section is a guide to setting up a Servoy software factory.
The following information is a step by step guide to building a continuous build server. It includes a sample configuration for a sample set of solutions, as well as instructions on where to change this information for your solutions.
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 set up CruiseControl using this guide - that will no longer be updated after Servoy 7.2 release)
If you have not already done so, install another instance of Servoy as an application server to act as the automatic build server. This can run the batch process for updating another Servoy Application Server, or you 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.
...