Jump to: navigation, search

Modeling Build Server Setup (Archived)

This document is a draft. It will change as this system is stabilized. Please contact Nick Boldt with any questions or comments.

Filesystem Configuration

The filesysstem is more restrictive on build.eclipse.org (shared build server) than on emft.eclipse.org (per-project vserver), so configuration is simplified.

The shared directories where all the magic happens are under /opt/public/modeling/:

./public_html/ (website)
./modeling/ (symlink to public_html to resolve absolute paths)
./searchcvs/ (Search CVS)
./modeling-releng-common (common releng scripts)
./tmp/ (lockfiles)
./build/downloads/ (central storage for upstream dependencies' zips)
./build/requests/ (list of dependencies, used by build pages & crons)
./build/modeling/scripts (symlink to modeling-releng-common/tools/scripts/)
./build/modeling/mdt/... (components' build folders)

Note that because eclipse.org webservers do not resolve symlinks (for security purposes) build files are actually created inside public_html and symlinked from the ./build/modeling/mdt/... folders.

Starting Builds

A build can be started from its build page, eg., http://build.eclipse.org/modeling/mdt/ocl/build/. These pages are .htaccess protected.

Run a build

Executing Builds

Builds are queued to run by creating a lockfile in the filesystem. On a schedule, a cron script checks for the existence of lockfiles, and runs them. Once a build is completed, the lockfile is deleted. Using this system, only one build per project/component/version can be run at a time.

Verifying Builds

Builds can be verified using the online tools, eg., http://build.eclipse.org/modeling/mdt/downloads/index.php?sortBy=date&project=eodm. This page includes links to config files, map files, build logs, test logs & test results.

Downloads page, build in progress

Promoting Builds

Once a build has completed and has been verified, it needs to be promoted to download.eclipse.org for publication and mirroring. This can be done via the project's promote page, eg., http://build.eclipse.org/modeling/mdt/ocl/build/promo.php

Promote a build