Changes between Initial Version and Version 1 of Obsolete/Development/ReleaseProcess


Ignore:
Timestamp:
Mar 7, 2013, 6:08:10 PM (13 years ago)
Author:
munoz
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Obsolete/Development/ReleaseProcess

    v1 v1  
     1= Releasing a new version of Quattor =
     2
     3[[TOC]]
     4
     5== Introduction ==
     6
     7As discussed in the 15th Quattor workshop, I detail here the tools and means for a Quattor release.  This document should be kept up to date as the release procedure gets more automated.
     8
     9For the client code (configuration modules, core libraries...), we do one release each 4-6 weeks.  The "certification" process is manual, here is how it goes:
     10
     11== Release branch ==
     12
     13When the time comes, the release manager (RM) creates a new branch in the main GitHub repository, on each repository that will be released.  He ensures that the builds in the [https://jenkins1.ugent.be/view/Quattor Jenkins repository] pass.  If they don't, he iterates with the authors or reverts the commits that break the tests.
     14
     15== Testing the release ==
     16
     17When all tests seem to pass, the RM creates all the packages and uploads them to some Yum repository.  He will then update all templates in a sandbox, and deploy the site.
     18
     19'''NOTE:''' We don't have the manpower to produce test profiles for each component.  Only the most important ones are being stressed ATM.
     20
     21'''NOTE:''' We'd appreciate a number of virtual machines (or a test site in the cloud) to make even more thorough tests.
     22
     23== Declaring victory ==
     24
     25When all the installations and component executions succeed, the RM executes the following command line on all the repositories:
     26
     27{{{
     28#!sh
     29$ mvn -DautoVersionSubmodules=true -B -DreleaseVersion=$VERSION release:prepare
     30$ mvn -DautoVersionSubmodules=true -B release:perform
     31}}}
     32
     33== Uploading to the Git repositories ==
     34
     35The [https://github.com/quattor/release.git release repository] contains a POM file with all the artifacts that should be uploaded to the Yum repositories, with their releases.  Just adjust it.
     36
     37== Tools ==
     38
     39The `releasing.org` file is an useful checklist to keep track of which modules we have already validated.
     40
     41== TODO ==
     42
     43We need to push the templates to the QWG repositories during the release.  Put the script in the release repository.