Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The artifacts for each and every release must be SIGNED; your public key should be added to the KEYS file
  • Your public key must also be cross-signed by other Apache committers (this can be done at key signing parties at ApacheCon for instance)
  • Make sure you have the correct maven configuration in ~/.m2/settings.xml
  • From Camel 2.10 15 onwards we will require to use Maven [3.01.21,3.12.05)
  • From Camel 2.11 17 onwards we will require to use Maven [3.02.45,3.1.0]From Camel 2.15 onwards we will require to use Maven [3.1.1,3.2.53.x)
  • You may want to get familiar with the release settings in the parent apache POM.
  • Make sure you are using Java 1.7 8 for Apache Camel 2.1418.0 and later (Java 1.6 7 for older versions).

Maven 2 Setup

...

  1. Close it by sending the RESULT to the mailing list.
  2. Promote the artifacts to the central repo. For this login to https://repository.apache.org using your Apache LDAP credentials. Click on "Staging Repositories". Select "org.apache.camel-xxx" in the list of repositories, where xxx represents your username and ip. Click "Release" on the tool bar above. This will promote all artifacts to the central maven repo. Enter the name and version of the artifact being released in the "Description" field and then click "Release". This will make it easier to identify it later.
  3. Perform a release in JIRA and create a new release version in JIRA
  4. There should be already a release notes page in the In Progress folder (if not create one based on the Camel x.y.z Release (template)). Edit it and change the number of fixed issues, and update its parent to be the Download page, and make sure to remove the (release in progress) in the title. Now would be a good time to create a new release notes page for the next release based on the template mentioned before. It is useful and simpler to keep it up to date during the development cycle.
  5. Copy the newly deployed distribution to Apache website:

    Code Block
    languagetext
    cd ${CAMEL_ROOT_DIR}/etc/scripts
    ./release-distro.sh <Camel version>
    

    Check the console output and finish this step (run svn ci) manually after checking the artifacts.

  6. Remove the old release by using svn rm https://dist.apache.org/repos/dist/release/camel/apache-camel/OLD_CAMEL_VERSION -m "Removed the old release"
  7. Update the download link of the Camel x.y.z Release to with http://archive.apache.org/dist/
  8. The script will download all distribution artifacts using wget and eventually show the following message:

    Code Block
    Distro artifacts prepared for upload, but not yet uploaded. Verify distro then complete upload!
    cd /tmp/camel-release/dist/x.y.z/
    svn status
    svn ci -m "Apache Camel x.y.z released artifacts."
    Remove previous distro on same branch if necessary
    DONE

    Finish this step by following the provided command sequence using svn after checking the artifacts.

  9. Remove the old release by using svn:

    Code Block
    svn rm https://dist.apache.org/repos/dist/release/camel/apache-camel/OLD_CAMEL_VERSION -m "Removed the old release"
  10. Update the download link of the Camel x.y.z Release to with http://archive.apache.org/dist/
  11. Copy the KEYS file by ssh into /www/www.apache.org/dist/camel/apache-camel/ on people.apache.org if you changed it
  12. Update the Download page to refer to the latest release distributions (search & replace the version numbers mostly)
  13. Upload the newly deployed schema and the manual to Apache:

    Code Block
    languagetext
    cd ${CAMEL_ROOT_DIR}/etc/scripts
    ./release-website.sh <Camel version>
    

    The script will download the website release artifacts using wget. Once all artifacts are downloaded, the following message is displayed:

    Code Block
    NOTE: Manual steps required! Check the schemas and manual files for new artifacts,
          add them to the repository as required and commit your changes. This step
          is intentionally not automated at this point to avoid errors.
    
    cd /tmp/camel-release/websites/production/camel/x.y.z/schema/
    svn status
    svn add <schema-x.y.z-qualifier>.xsd
    svn ci -m "Uploading released schemas for camel-x.y.z"
    
    cd /tmp/camel-release/websites/production/camel/x.y.z/manual/
    svn status
    svn add camel-manual-x.y.z.html
    svn ci -m "Uploading released manuals for camel-x.y.z"

    Finish this step by following the provided command sequence unsing using svn after checking the artifacts.

  14. Upload the javadocs to Apache, you need to checkout the files from "https://svn.apache.org/repos/infra/websites/production/camel/content/maven/"

    Info
    titleUsing SVN the first time on people.apache.org

    To be able to perform a checkout on people.apache.org from svn.apache.org, you have to trust the server certificate:

    No Format
    svn list "https://svn.apache.org/repos/infra/websites/production/camel/content"
    Error validating server certificate for 'https://svn.apache.org:443':
       The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually!
    Certificate information:
       Hostname: *.apache.org
       Valid: from Tue, 20 Dec 2011 00:00:00 GMT until Mon, 17 Feb 2014 23:59:59 GMT
       Issuer: Thawte, Inc., US
       Fingerprint: bc:5f:40:92:fd:6a:49:aa:f8:b8:35:0d:ed:27:5e:a6:64:c1:7a:1b
    (R)eject, accept (t)emporarily or accept (p)ermanently?
    
  15. Update the Xml Reference page with a link to the XSD's
  16. Update the Manual page with a link to the PDF/HTML if it's a new major/minor version
  17. Mail the dev@camel.apache.org, users@camel.apache.org & announce@apache.org lists
  18. Post a news entry in the wiki which links to the release page so folks can download it!
  19. perform a full export of the Camel WIKI sites to see your blog on the Camel index site. To do this, you have to remove the main.pageCache file in the content/cache sub directory:
    1. execute: svn rm https://svn.apache.org/repos/infra/websites/production/camel/content/cache/main.pageCache
  20. Add the release version number to the following spring.schemas file located in src/main/resources/META-INF directory of the following components:
  21. Have a beer! (smile)

Create a new maintenance branch

Info
titleThis section is out of date.

This section just for creating a maintenance branch in camel svn repo, it is much easy to create a new branch after camel repo is switched to Git.

 

When we finish the major version release, we need to create a maintenance branch to holds the bug fixes. Here are the steps for it.

  1. Create a branch from trunk remotely

    Code Block
    languagetext
    svn copy -m "create camel 2.10.x fix branch" https://svn.apache.org/repos/asf/camel/trunk/ https://svn.apache.org/repos/asf/camel/branches/camel-2.10.x
    
  1. Check out the remote branch in a new directory

    Code Block
    languagetext
    svn checkout https://svn.apache.org/repos/asf/camel/branches/camel-2.10.x 
    
  1. to remove the main.pageCache file in the content/cache sub directory:

    Initialize merge tracking for the new branch

    Code Block
    languagetext
    cd camel-2.10.x svnmerge.py init -f commit.txt
    1. execute: svn rm
    1. https://svn.apache.org
    /repos/asf
    1. /repos/infra/websites/production/camel/content/cache/main.pageCache
  2. Add the release version number to the following spring.schemas file located in src/main/resources/META-INF directory of the following components:branches/camel-2.10.x svn ci -F commit.txt
  1. Update the version number for the next patch release

    Code Block
    languagetext
    find ./ -name pom.xml |xargs perl -pi -e 's/2.11-SNAPSHOT/2.10.x-SNAPSHOT/g'
    svn ci -m "Update the pom version for next patch release"
    
  1. Set up a new continuous integration build, if we release a new major/minor version: https://builds.apache.org/view/A-D/view/Camel/

...

languagetext

...

  1. Have a beer! (smile)