View source | Discuss this page | Page history | Printable version   

Release Management

Contents

Project description

The Release Management and Engineering team is responsible of the release cycle of the Openbravo ERP project, focused on coordinating and improving the creation of official releases. It is also primarily responsible for many development tools and processes such as code reviews, the issue tracking system, source code management (SCM), continuous integration and inculcation of agile development practices.

Developers

These are the current active developers:

These are the retired developers:

Mission statement

Be a tool provider for the Openbravo Team and its ecosystem: the community, users and partners. Train them and make sure they know how to utilize the best of these tools.

The goals of Release Management are to continually improve the quality, timeliness and overall procedures for creating official Openbravo releases. This project is very much focused on ensuring that the initial quality of every official release is as high as possible.

To make this possible, it ensures that all the processes around this one do their task efficiently and in agile way: source code management (SCM), branching policies, code reviewing, continuous builds and tests, development practices for the engineering team and the product release cycle.

Release schedules and signing

Release status and schedules

Check the Release Life Cycle document for details on the Openbravo releases:

Release security and signing

All release media will have its DIGESTS file signed by one of the Release Management Team PGP keys listed on this page. The keys are available through the pgp.mit.edu keyserver. They can be used to verify that the media is, in fact, the media shipped by Openbravo and not from a potential attacker.

New keys and changes to existing keys will be announced to the following mailing lists: openbravo-development, release.management.


Key ID Key type Key fingerprint Key holder name Creation date
BB41F3B0 1024-bit DSA 9C95 77BD D17C B71D 9DF9 A043 CF75 2665 BB41 F3B0 Gorka Gil 2009-09-29
CAEE046C 1024-bit DSA 6EB3 0A48 5A73 0CAF ADF8 D6EF 3166 4C79 CAEE 046C Harpreet Singh 2009-07-16
9499E9BC 1024-bit DSA 8C13 B047 898D 90A0 AC20 102F 48EF 4430 9499 E9BC Juan Pablo Aroztegi 2009-04-29
E04385B7 1024-bit DSA 7DBD B983 1856 497D 394D 52FF 9604 9E24 E043 85B7 Priya Muthukumar 2009-06-24
ED724FCE 1024-bit DSA F6EA D5AC CC76 F666 2C14 4219 E055 3854 ED72 4FCE Samudricka 2009-09-15
9F2B730D 1024-bit DSA 6F09 7C32 2640 77B9 657B F62E F5A8 D49D 9F2B 730D Sreekanth Balakrishnan 2009-10-05
FFB6AA43 1024-bit DSA 3095 6AD1 5F19 5476 7122 ECEF 097F E819 FFB6 AA43 RM packaging bot 2009-10-09


To obtain one of the public keys:

$ gpg --keyserver pgp.mit.edu --recv-keys <key id>

To verify the cryptographic signature:

$ gpg --verify <file.DIGESTS.asc>

What keeps us busy

Release Management.png


Release engineering

The Release Engineering project aims at organizing, scheduling, coordinating and delivering the Openbravo ERP Maintenance Packs.

  1. Release policy.
  2. Release planning.
  3. Release Criteria.
  4. Release periodicity.
  5. Code freezes.

The roadmap and schedules are documented here

Continuous Integration

Continuous Integration (CI) addresses the need to continuously integrate and make sure that the health of our software is good. We have developed our build farm using Hudson. Visit our build farm in builds.openbravo.com.

Check also out our vision and milestones.

Release automation and periodic builds

Our goal is to automate 100% of the release process. We use [builds.openbravo.com our builds system] for this purpose, in conjunction with some automation scripts.

We are in the process of creating a potential release our of every Mercurial changeset, based on the following logic:

Check the details on the release processes for 2.3x, 2.40 and 2.50.

Packaging and deployment

We deliver the Openbravo ERP releases in different flavors:

There are 3 stages in every packaging method:

  1. Preparation: development of the initial version of the tool and the process. It's done once, but it may be rewritten depending on the project needs.
  2. Execution: it consists on releasing a deployment method once it's developed. This should evolve towards an automated task.
  3. Maintenance: little modifications and adjustments.

Source Code Management (Mercurial)

The SCM project aims to make the distributed coding process as fluid as possible. Currently Openbravo uses Mercurial for this task.

It involves the following tasks:

  1. Source code viewer (currently hgweb).
  2. Documentation (general usage, repositories structure).
  3. Policies (committing, branching).
  4. Statistics and metrics.
  5. Automatic commit notifications (Mailing lists, IRC).

Issue Tracking System (Mantis)

This project consists of the enhancements and maintenance of the Openbravo Issue Tracking System.

Online demo system

We aim to create a grid of fast and stable demo servers, ensuring that the live experience gives a good first impression and reflects the best of the product. This service offers the latest available stable version.

Current demo-servers:

The following steps are followed to get the demo systems up and running.

Development practices

This project helps to identify, create and implement processes or products to efficiently manage the release of code and overall the engineering process. Also it helps to coordinate disparate source trees, projects, teams and components.

  1. Code reviews.
    1. Automatic code analyzers.
    2. Assigned code review tasks.
  2. Unit tests.
  3. Agile methodologies.
  4. Change management.
  5. Technical designs
  6. Metrics on the previous items.

IRC channels

We run and administer two IRC channels in freenode #openbravo (English) and #openbravo-es (Spanish). The irc logs are available in here, as well as some statistics.

VoIP (Mumble)

The Openbravo development team uses Mumble for voice meetings.

How we get things done

We are an agile team, who follows scrum methodology and is dispersed in different continents. Few are from Europe and few from Asian Continents. We document most of our activities in wiki and the same is available here Most of the RM members like the interact in the traditional irc way and is available 24x7 at #openbravo in irc.freenode.net

To manage the scrum we use Google spreadsheet and the same is here

We normally have a two week sprint cycle and our stand up meetings are held at 11:00 CET / 14:30 IST.

More about Scrum here.

Documentation

The Release Management related documentation is divided into 4 groups:


Release Engineering Product Tools Internal

Contact us

To reach us for any queries please use our IRC channel in the Freenode network and also our mailing list.

Retrieved from "http://wiki.openbravo.com/wiki/Release_Management"

This page has been accessed 29,223 times. This page was last modified on 4 January 2012, at 09:08. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.