
h1. Requirements
# Internet connection
# You have an access to the OW2's MRM ([Nexus|http://repository.ow2.org/]), and your account can publish artifacts of the repository 'stagging'.
# Your Maven's setting file is right, containing:
#* MRM declarations,
#* Credential of the OW2's MRM to publish artifacts into the repository 'stagging'
{code}
<server>
<id>ow2.release</id>
<username>petals</username>
<password>......</password>
</server>
<server>
<id>ow2.snapshot</id>
<username>petals</username>
<password>......</password>
</server>
{code}
#* The secret GPG key to sign artifacts
{code}
cdeneux@cdeneux-laptop:~$ gpg --list-secret-keys
/home/cdeneux/.gnupg/secring.gpg
--------------------------------
sec 2048R/09334662 2012-10-08
uid Petals (ESB) <petals-dev@ow2.org>
ssb 2048R/C8353498 2012-10-08
{code}
{tip}If needed, import the secret key [{{secret.key}}|^secret.key]: {{gpg --import secret.key}}{tip}
#* The credential of the GPG key:
{code}
<profile>
<id>gpg-passphrase</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<properties>
<gpg.passphrase>.............</gpg.passphrase>
</properties>
</profile>
{code}
h1. Before release
Before to start the release process, disable the continuous integration to avoid failed build because of artifacts not promote from the repository 'stagging' to the repository 'public'.
In the [Jenkins console script|http://jenkins.petalslink.com/script], execute the following script to disable all jobs:
{code}
import hudson.model.*
// For each project
for(item in Hudson.instance.items) {
println("JOB : "+item.name)
item.disabled=true
item.save()
println("\n=======\n")
}
{code}
h1. Releasing Petals ESB
To release Petals ESB, you will release, if needed, in the following order:
# Petals dev tools,
# Easycommons tools,
# Petals ESB.
h2. Releasing Petals dev tools
For each dev tools:
# prepare the release executing the command:
{code}
> mvn release:prepare
{code}
# perform the release executing the command:
{code}
> mvn release:perform
{code}
During the perform phase, Maven will ask you the PGP's pass-phrase.
Once dev tools are released, go to the [OW2's MRM to promote|http://repository.ow2.org/nexus/index.html#stagingRepositories] the released artifacts into the repository containing released artifacts:
# Select the temporary repository containing artifacts just released,
# and "close" it,
# and "release" it.
h2. Releasing EasyCommons artifacts
h3. Releasing EasyCommons artifacts for branchs 4.x.y
First, prepare the release executing the command:
{code}
> mvn release:prepare -DtagBase=https://svn.petalslink.org/svnroot/tags
{code}
Next, perform the release executing the command:
{code}
> mvn release:perform
{code}
h3. Releasing EasyCommons artifacts for trunk
Same as releasing Petals ESB artifacts of trunk.
h2. Releasing Petals ESB artifacts
h2. Releasing Petals ESB artifacts for branchs 4.x.y
First, prepare the release executing the command:
{code}
> mvn release:prepare -P prepare-release-profile -DtagBase=https://svn.petalslink.org/svnroot/tags
{code}
Next, perform the release executing the command:
{code}
> mvn release:perform -P perform-release-profile