Apache Airavata

This section describes release management configuration steps, if you have previously configured these steps, jump directly to Release Process.

Performing a release will require:


Generate GPG key

The releases have to be signed by public key cryptography signatures. Detailed instructions on why releases have to be signed are provided on Release Signing page. The popular software used Open Pretty Good Privacy (OpenPGP) is the GPG. The GPG instructions list out detailed steps on managing your keps.

The steps can be summerized as:

  • Generate 4096 bits RSA key pair using gpg: gpg --gen-key.
  • Export the public key: gpg --list-sigs <Real Name> && gpg --armor -- export <Real Name>
  • Upload the public key to SURFNET PGP or MIT PGP servers.
  • Have your key signed by atleast three apache commiters, key signing and Henk Penning websites provide instructions.
  • Add the signed public key to the KEYS file on Airavata Dist SVN.

For reference, the steps to sign a key:

  • The person whom you know in person provides you his key, usually this happens at key signing party where you can verify each others ID's.
  • Fetch the key gpg --keyserver <keyserver> --recv-keys <Key_ID> an example key server is pgp.mit.edu
  • Sign the key gpg --sign-key <Key_ID>
  • Upload the key back to the server gpg --keyserver <keyserver> --send-key <Key_ID>


Maven Configuration & Nexus Setup

  • Airavata requires Maven 3 or later to build and release
  • It is encouraged to use maven's password encryption capabilities and set the gpg password in ~/.m2/settings.xml. Detailed instructions are at Publishing Maven Artifacts
    • Make sure both the apache.snapshots.https and apache.releases.https are configured coreectly.
  • Performing release will require maven to run series of commands, the heapsize has to be increased to avoid out of memory exceptions.
  • Bash Shell: export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m".
  • C Shell: setenv MAVEN_OPTS "-Xmx1024m -XX:MaxPermSize=256m".


  • No labels