wiki:BUILD_SERVER_INTEGRATION_R0

Version 10 (modified by pavlina, 16 years ago) (diff)

--

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=BUILD_SERVER_INTEGRATION_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

The build server should be integrated with the Sophie 2 repository. It should be able to run regular builds.

Task requirements

  • Setup the chosen build server to perform builds and to run them regularly.
  • Make the build server work with Sophie 2.0 source repository.
  • It will be good if the build status could be seen in the trac system. (optional)

Task result

Running build server, that runs tests and builds the Sophie 2.0 application from the source code in the repository.

Implementation idea

On the new SCS machine configure hudson to maintain the source code in svn://asteasolutions.net:7369/sophie2/trunk/sophie2-platform/modules

BUILD_SERVER_INSTANCE_R0
SCS_MACHINE_SETUP_R1
BUILD_SERVER_REPORTS_R0
BUILD_SERVER_DEPLOYMENTS_R0

How to demo

Demonstrate that the build server builds Sophie 2.0 on given time interval.

Design

  • See the result of BUILD_SERVER_INSTANCE_R0. Hudson have to be already installed in the sophie2 server.
  • You can set "HUDSON_HOME" environment variable to the new home directory before launching the servlet container. This will be used by Hudson for diskspace to perform builds and keep archives.
  • To create new job for Hudson go to Hudson top page, select "New Job", then choose "Build a free-style software project". This job type consists of the following:
    • a Subversion where your source code resides. Choose the location of the svn in the sophie2 server.
    • Optional triggers to control when Hudson will perform builds. The build should be done each morning at 6 AM.
    • some sort of build script that performs the build (in our case - maven scripts) where the real work happens.
      • Hudson can read dependencies of our project from maven POMs. Triggers are set up in such a way that a new build in one of those dependencies will automatically start a new build of your project. Hudson understands all kinds of dependencies in POM.
    • optional steps to collect information out of the build, such as archiving the artifacts and/or recording javadoc and test results.
      • Hudson supports plugins, which allow Hudson to be extended to meet specific needs of individual projects.
    • optional steps to notify other people/systems with the build result, such as sending e-mails, IMs, updating Trac build status, etc.

Implementation

(Implementation results should be described and linked here (from the wiki or the repository))

Testing

Comments

(Write comments for this or later revisions here.)