Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

COSMOS RE AND BUILD

Revision as of 17:31, 24 September 2007 by Bobbyjoseph.in.ibm.com (Talk | contribs) ('''Build Process''')

This page will hold information and links around Release Engineering and build

Introduction

Build Overview


COSMOS Deliverables
Following are the deliverables available from the eclipse downloads site:
http://www.eclipse.org/cosmos/downloads/

1. SML validator and SML-IF Editor (Resource Modeling)
An SML validator that validates SML and SMLIF files. An editor to create and validate SMLIF documents used to exchange information between systems management applications. This is an eclipse plug-in for tooling, packaged as a zip file.


2. Data Collection Framework
This is a set of OSGi bundles and can run in any OSGi container. But this is currently packaged in eclipse plug-in format as a zip file.
Current OSGi Bundles in COSMOS:
http://wiki.eclipse.org/COSMOS_DC_OSGi_Bundles


3. Data Reporting Web Application
This is a web application. It bundles the COSMOS Report Viewer and the COSMOS UI.


Project – Deliverable Mapping

ProjectDeliverable
Data Collection ProjectData Collection Framework (cosmos-dc-incubation-COSMOS-1.0.0-<build-date>.zip)
Data Visualization ProjectData Reporting Web Application (cosmos-dr-incubation-COSMOS-1.0.0-<build-date>.zip)
Resource Modeling ProjectSML validator and SML-IF Editor (cosmos-rm-incubation-COSMOS-1.0.0-<build-date>.zip)
Management EnablementNA



Build Dependencies

Dependency Name Version
Eclipse SDK (http://www.eclipse.org/downloads/) ver 3.3
Dojo Toolkit (http://dojotoolkit.org/) Rel 0.4.2
BIRT Runtime (http://download.eclipse.org/birt/downloads/) Rel 2.2.0
Orbit Bundles (http://www.eclipse.org/orbit/) Rel R200706192011
Equinox Bundles (http://www.eclipse.org/equinox/) ver 3.3RC4


Build Env

Current build environment is as follows:
OS – Linux - Hat Enterprise Linux AS release 4 (Nahant Update 5)
Java – IBM Java 1.5 (ibm-java2-i386-50)

Build Process

This sections explains the following
1) Build Schedule
2) Build Types
3) Build Control & Management


Build Schedule
Daily Builds
An automated build runs every 24 hours. The state of the head branch of the CVS repository will be labeled with a time stamp. The time stamp will be encoded with the release number, date, time, and serial build number, eg: COSMOS-RMm-YYMMDDHHMMSS. A module list will be maintained (in CVS) that lists all the modules that are part of the current build, labeling and extracting will be restricted to those modules.

Manual Builds
Apart from the daily automated builds, a manual build can be started by those who are authorized to do so.
{TBD: How to start the manual build}

Build Types
The diff type of builds available are:
1) Development Builds
2) Candidate Builds
3) Stable Builds
4) Release Builds

1) Development Builds
All successful daily builds are published to the eclipse server as development builds.

2) Candidate Builds
Selected daily builds are promoted as candidate builds for testing.

3) Stable Builds
Candidate builds which pass all the test phases are flagged as stable builds.

4) Release Builds
According to the release schedule the stable builds are released to the community.


Note: Tagged vs Untagged Builds

Build Control & Management
As explained above, the daily build starts automatically and the manual build has to be initiated by a person. If a build is in progress, another build cannot be started. A .busy file is created when the build starts and is removed automatically once it is over. The build output contains the deliverables, log files and reports.

Publishing the build
At the end of a successful build, the build output is published to the eclipse server as part of the build process.

Build Setup

Currently COSMOS build is performed at two Linux based machines. One machine performs source code compilation/packaging and another machine performs front-end functions. The build is started from the front-end machine, which initially fetch the build module from CVS and save it at workspace directory on compilation machine. The fetched build module contains various Bash/Ant scripts to perform the complete build. These Bash/Ant scripts broadly perform following functions:

1) Fetch plugins/features from CVS
2) Compile the fetched code to .class files
3) Assemble the .class files to .jar file
4) Package the jars as .zipped file
5) Publish the zipped files to COSMOS download page.

Connecting CVS with SSH

These build machines includes an SSH client for accessing a remote CVS server. Different methods can be used to authenticate, depending on the level of functionality and security Authentication methods used by the client by default are, in the following order: public-key, Keyboard-Interactive, and password authentication.

Public-key authentication allows the client to connect to a remote CVS server without sending the password. This is a more secure authentication method than password authentication. Public-key authentication uses two keys, a private key that it should be kept in a secure place and protected with a password. And the public key, is placed on the server, one wish to gain access to.

Reference: [1] Eclipse SDK help

Build Contacts

IBM:
Balan Subramanian (bsubram at us.ibm.com)
Jagmit Singh (jagmits at ca.ibm.com)
Bobby Joseph (bobbyjoseph at in.ibm.com)

Links to Bugzilla

Open bugs against Release Engineering team

Back to the top