FOSSGIS/Server/Projects/Osmosis Continuous Integration

From OpenStreetMap Wiki
< FOSSGIS‎ | Server‎ | Projects
Jump to navigation Jump to search

Name des Projektes/Project Name

Osmosis Continuous Integration

Kontakt/Main Contact

BrettH

Andere Projektmitarbeiter/Other people involved

This application has a small development community on the http://lists.openstreetmap.org/listinfo/osmosis-dev Osmosis development mailing list.

Kurze Beschreibung des Projektes/Short description of your project

Osmosis Continuous Integration will perform regular Osmosis builds with full regression testing. The Osmosis application has a number of dependencies that make it difficult for all developers to run the full regression test suite. Providing a continuous integration environment allows developers to test their own changes, and then rely on a centralised build to verify that no regressions have been introduced. The builds will be automatically triggered by monitoring checkins to the svn source tree.

Vorschau/Preview

The continuous integration server to be used is Hudson. An example Hudson installation being used for the JBoss project is available at http://hudson.jboss.org/hudson/. The Osmosis installation will only have one build process configured. Others may be added for an official build and any development branches, but the number will always be very small.

Warum ist das Projekt für die OSM-Community interessant?/Why is this project interesting to the OSM community?

Osmosis is a key component in OSM infrastructure http://wiki.openstreetmap.org/wiki/Image:OSM_Components.png. It is the means by which all datasets outside the production database receive regular data updates. In addition it is a generic tool for performing any number of OSM data manipulations, and often described as the "swiss army knife" of OSM data manipulation.

It is important that the Osmosis application maintain a high level of quality. A key part of reducing dependence on one person is to have a reliable set of tests that are run regularly. A continuous integration environment automatically posting build failures to the osmosis-dev mailing list is a valuable tool to help achieve this.

Welche spezielle Software brauchst Du?/What special software will you need?

(Nur wichtige Software anführen, die Du brauchen wirst/List only major software components such as Mapnik or PostGIS)

Jenkins Continuous Integration Server

Available at http://jenkins-ci.org/

This can be run under a normal user account as a standalone java application. Alternatively it can be run within a Tomcat application server behind an Apache web server.

The current installation is available here (the hudson URL is historical and may be changed to jenkins at some point): http://dev.openstreetmap.de:23457/hudson/

PostgreSQL Database

Two schemas are required by Osmosis tests.

  • A production-like API database built using the rake db:migrate command.
  • A PostGIS enabled database built using the "pgsnapshot" schema creation script provided by Osmosis.

Both of these schemas are used by Osmosis unit tests. The amount of data contained in these schemas is very small, and re-created during each test run.

Welche Ressourcen brauchst Du?/What resources will you need?

This task will sit idle most of the time unless a build is being performed. A build is triggered whenever an Osmosis code change is committed to svn, which is rarely more than a couple of times per day.

RAM - Approximately 50MB while idle, growing to perhaps 100MB during a build. CPU - Minimal while idle, medium to heavy CPU for approximately 1-2 minutes during a build. Disk - This is dependent on how much build history is maintained. But I would expect it to use less than 1GB. IO is fairly heavy during a build, but only for the 1-2 minute build duration.

Wo ist der Source-Code?/Where is your source code?

Source code is maintained on GitHub: https://github.com/brettch/osmosis

Further details on the Osmosis development page: http://wiki.openstreetmap.org/wiki/Osmosis/Development

Welche Daten brauchst Du?/What data do you need?

No external data is required. Small amounts of test data (less than 1 MB) are maintained in the Osmosis source tree.

Verwandte Projekte/Related Projects

No projects are directly related.

Status/State

aktiv/active