100 likes | 256 Vues
This document discusses the current state and future plans for Continuous Integration (CI) and Nightly Builds in the CSS project at DESY. It outlines the process of using a central CVS repository where developers commit changes post-debugging, followed by local JUnit tests and compilation. The role of Hudson in regularly checking the repository for changes and managing nightly builds of CSS products is detailed. Additionally, the transition from CVS to Mercurial is addressed, highlighting a new workflow model that ensures efficient code integration and build processes.
E N D
CSS Configuration-/ Built- ToolsContinuous Integration and Nightly Builds EPICS Collaboration Meeting Aix-en-Provence June 3rd , 2010 (Jan Hatje) Matthias Clausen - DESY
Configuration- / Built-Tools • Current Situation • Continuous Integration • Nightly Builds • Plans
Current Situation • One central cvs repository • Changes get committed to the central repository as soon as the developer has debugged his ‘local’ version • How to find out whether something breaks before other do? • Run the JUnit tests locally • Compile locally • Commit to central repository • Update your local version from central repository • Check again
Continuous Integration • Hudson Process checking the cvs repository on a regular basis for changes • If so check out all the files for the configured project and run JUnit and compile a new Product (full built) • If errors occur • Send e-Mail to the user who committed the code which is breaking now.
Hudson Nightly Built • Nightly built of all CSS products • DESY – CSS version(s) • CSS (DESY) • CSS on an island (DESY agnostic) • All CSS headless products (not all for now) • Copy nightly built products to ftp server
Plans • Moving from cvs to Mercurial • Moving from cvs repository at DESY to Mercurial at SourceForge • New working model: • Get snapshot from central Mercurial repository to local Mercurial repository • Make changes locally commit to local repository • Run Hudson continuous integration test process • Run Hudson nightly built process from local repository • If successful • Commit to central Mercurial repository • Get new snapshot from central repository