JMRI: Continuous Integration
"Continuous Integration" is the process of rebuilding a system every time it changes, so that you rapidly learn of new problems and are motivated to remove existing ones.JMRI uses the Jenkins continuous integration engine for this.
Specific results of interest:
- Dashboard page that gives one-line status
- Development page,
showing status of the builds done after every series of commits.
There are also pages of the
most recent changes and the
most results.
- FindBugs page, showing status of the more-extensive tests done periodically. There are also pages of the most recent changes and the most recent results.
For more information on JMRI's use of FindBugs, see the separate FindBugs page.
- FindBugs page, showing status of the more-extensive tests done periodically. There are also pages of the most recent changes and the most recent results.
Integration with NetBeans
If you are developing in the NetBeans 7.0 environment, it is possible to integrate feedback from the Jenkins Continuous Integration (CI) engine.
Within the NetBeans environment, reference is made to the Hudson CI engine - Jenkins is a "fork" of the Hudson code and supports the same API.
Integration
Integration into NetBeans is achieved by executing the following steps:
- Open NetBeans
- Switch to the 'Services' window (shortcut key 'Ctrl+5')
- Right-click (Ctrl-click on Mac) the entry 'Hudson Builders' and choose 'Add Hudson Instance...'
- In the resulting pop-up, complete the following:
- Name
- JMRI
- URL
- http://builds.jmri.org/jenkins/
- Auto refresh every X minutes
- 60 (change from the default of 5 to avoid overloading the CI server)
From now on, the current status of the Jenkins builds can be reviewed in the 'Services' window by expanding the 'JMRI' entry under 'Hudson Builders'.