
h3. Releasing Petals ESB artifacts for trunk
h4. For *the Petals root parent POM*
# prepare the release executing the command:
{code}
> mvn release:prepare -P prepare-release-profile
{code}
# perform the release executing the command:
{code}
> mvn release:perform -P perform-release-profile
{code}
h4. For *all other Petals ESB projects* hosted on SVN
# prepare the release executing the command:
{code}
> mvn release:prepare -Darguments="-P prepare-release-profile"
{code}
{warning}Caution, for *Debian package* and *ZIP distributions* artifacts, you must enter something as {{$\{petals-cli.version\}-1.1-SNAPSHOT}} as the new development version.{warning}
{tip}
The profile {{prepare-release-profile}} is required to disable the check about SCM URL. During the release preparation, SCM URL are updated just before to tag the artifact and the SCM URL declared in the POM will not match the current SCM URL, so SCM enforcer rule must be disable.
{tip}
# perform the release executing the command:
{code}
> mvn release:perform -Darguments="-P perform-release-profile"
{code}
{tip}
The profile {{perform-release-profile}} is required to sign all deployed artifacts (required by OW2).
{tip}
h4. For *all other Petals ESB projects* hosted on GitHub
# First, prepare the release executing the command into your *working area set on the master branch*:
{code}
> mvn org.apache.maven.plugins:maven-release-plugin:2.5.2:prepare -Darguments="-P prepare-release-profile"
{code}
{tip}
The profile {{prepare-release-profile}} is required to disable the check about SCM URL. During the release preparation, SCM URL are updated just before to tag the artifact and the SCM URL declared in the POM will not match the current SCM URL, so SCM enforcer rule must be disable.
{tip}
# Next, perform the release executing the command:
{code}
> mvn org.apache.maven.plugins:maven-release-plugin:2.5.2:perform -Darguments="-P perform-release-profile -Dmaven-enforcer-plugin.rules.scm=false"
{code}
{tip}
The profile {{perform-release-profile}} is required to sign all deployed artifacts (required by OW2).
{tip}
h2. Releasing Petals ESB samples
Each Petals sample set for a given component must be released as a Maven multi-module project: one SCM tag and several artifacts deployed on repositories.
Once all Petals sample set are released, you can released the Petals sample ZIP archives.
To release a Petals sample:
# Update the parent POM with last versions released, and commit the changes,
# prepare the release executing the command:
{code}
> mvn release:prepare -Darguments="-P prepare-release-profile"
{code}
{warning}Caution:
* for release version of each artifact, accept the proposed value,
* for SCM release tag, the proposed value must be changed into something as {{petals-samples-<component>-<component-version>-<sample-version>}},
* for new development version of each artifact, the proposed value must be changed in {{<new-component-version>-1.0.0-SNAPSHOT}}.{warning}
{tip}
The profile {{prepare-release-profile}} is required to disable the check about SCM URL. During the release preparation, SCM URL are updated just before to tag the artifact and the SCM URL declared in the POM will not match the current SCM URL, so SCM enforcer rule must be disable.
{tip}
# perform the release executing the command:
{code}
> mvn release:perform -Darguments="-P perform-release-profile"
{code}
{tip}
The profile {{perform-release-profile}} is required to sign all deployed artifacts (required by OW2).
{tip}
h1. After the release
h2. Publish the released artifacts
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. Acceptance & Integration tests
Update integration and acceptance tests against new RELEASE and SNAPSHOT versions.
h2. Enable Jenkins's jobs
Now, the continuous integration can be re-enable, manually or executing a script as following in the [Jenkins console script|http://jenkins.petalslink.com/script]:
{code}
import hudson.model.*
// For each project
for(item in Hudson.instance.items) {
println("JOB : "+item.name)
item.disabled=false
item.save()
println("\n=======\n")
}
{code}
{info}Caution to re-activate only Jenkins jobs that you have deactivated previously !
{code}
import hudson.model.*
// For each project
for(item in Hudson.instance.items) {
if (item.name.startsWith("4.3.x")) {
println(item.name + ", JOB enabled")
item.disabled=false
item.save()
} else {
println(item.name + ", skipped")
}
}
{code}{info}
h2. Changelog
In [JIRA|http://jira.petalslink.com], release version of released projects. If needed, move unresolved issues to a next version or change its resolution state.
Update if needed the right issue query about Petals distributions.
h2. Release the documentation
If the released component has a documentation, release the documentation 'SNAPSHOT' renaming 'SNAPSHOT' by the right version, next copying the released documentation with a new name ending with 'SNAPSHOT'
The component having a documentation to release are:
* Petals ESB container,
* Petals JBI components,
* Petals CLI,
* Petals Ant Tasks,
* Maven Petals Plugin
Update the [compatibility matrix|petalsesb:Compatibility Matrix].
h2. Communication
Announcements must be done on the right channels: on Twitter and in section 'News' of the Petals web-site, ...
h3. Update the Petals ESB web-site
To update the Petals ESB web-site:
# Clone the Git repository [https://github.com/petalslink/petals.ow2.org],
# Add a file {{download-petals-X.Y.Z.md}} for the new version. It's content is similar to other files {{download-petals-X.Y.Z.md}},
# Adjust the content of {{download.md}},
# Commit and push changes to the Git repository,
# A Jenkins job is automatically launch to deploy the Petals ESB web-site on the web-site stagging area of the OW2 forge
# Publish the Petals web-site through the OW2 forge:
## Go to [http://forge.ow2.org],
## Sign in as manager ({{petals/xxxxx}}),
## Go to [http://forge.ow2.org/project/admin/?group_id=213],
## Push on the button {{Push Project Web Site from Development to Production Now}} (scroll down the web page to see the button),
## Check the Petals ESB web site going to [http://petals.ow2.org/download.html], and checking the content of its links.
h3. Twitter
You can use your personal account to publish an announcement of the new release on Twitter.
Announcement sample:
{code}
@Linagora The new maintenance release 4.2.4 of @petalsesb is out: http://petals.ow2.org/download-petals-4.2.4.html
{code}
All tweets done with a personal account should be retweeted with the account '*petalsesb*' to be automatically listed on the home page of the [Petals web site|http://petals.ow2.org] (see [consulting:Le Compte Twitter de Petals ESB] for more information on account '*petalsesb*').