GISInternals is an online system for creating daily built binary packages for the GDAL and MapServer projects. The anchestor of this system has been provided to be the Windows buildslaves for the osgeo buildbot in 2007. The build system in the current form (providing downloadable packages) has been set up in 2009. As of this time, the system has been continuously improved by adding more and more packages to make the life easier for the users and developers of these open source projects. During this time the number of the visitors and the amount of the downloads continues to grow, and the site has been visited from more than 160 countries around the world.
In 2014 december the achitecture of this site has been redesigned. The functionality has been divided into 3 portions: the GUI frontend, the file servers (php and asp.net backends) and the the build server. This approach will provide to increase the reliability and the availability of the site by the chance of using multiple build servers (upload agents) in the future.
The primary objectives of this build system are:
- Provide complete solutions (containing all the dependencies for running and compiling the applications).
- Provide homogenous build. All the dependencies are compiled against the same CRT libraries, to eliminate the potential run-time problems.
- Downloadable packages are kept as small as possible (only the required files are included).
- Packages are prepared to have the things set up and running easily.
- Packages are location independent. You can run and develop multiple versions of the projects in the same computer in different directories.
In addition to the binary packages and installers, we provide all the required files (libs and headers) to compile the projects on Windows by using the supported Microsoft Visual Studio versions.
Automated compilation of the packages is scheduled daily at 4:00AM (Central European Time), the total size of all the packages created daily is at about 1 gigabytes.
This build environment compiles GDAL and MapServer from the source repositories (git and svn) and provide cutting edge binary packages containing the latest fixes until the time when build has started (refer to build status for the details). Only the binaries of the latest successful builds are packaged and made available to download. The possible breaking changes in the repositories cause the compilation to terminate immediately before the packaging is started.