Differences between revisions 38 and 39
Revision 38 as of 2011-11-27 14:00:25
Size: 4393
Editor: JMeterAdmin
Comment:
Revision 39 as of 2012-02-02 13:30:01
Size: 7928
Editor: Milamber
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
 * request Bugzilla version update (on https://issues.apache.org/jira/browse/INFRA or if you are JMeter committer, ask for sufficient Bugzilla karma to do this yourself)  * request Bugzilla version update (on [[https://issues.apache.org/jira/browse/INFRA|INFRA]] or if you are JMeter committer, ask for sufficient Bugzilla karma to do this yourself)
Line 18: Line 18:
 * tag all the files with a new RC tag, e.g. v2_5_1_RC1  * tag all the files with a new RC tag, e.g. v2_5_1_RC2
   * SVN commands (example) :
{{{
svn copy https://svn.apache.org/repos/asf/jmeter/trunk https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2
}}}
Line 20: Line 24:
   * If there is a problem with the contents of an RC tag, create a new tag, for example v2_5_1_RC2    * If there is a problem with the contents of an RC tag, create a new tag, for example v2_5_1_RC3
Line 25: Line 29:
{{{
svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2 jmeter_v2_5_1_RC2
}}}
 * Move to new directory:
{{{
cd jmeter_v2_5_1_RC2/
}}}
Line 26: Line 37:
{{{
ant download_jars
}}}
Line 27: Line 41:
  * ant distribution -lib=<libextra> -Djmeter.version=m.n -Duser.name=user-AT-apache.org
  * sign distribution files (gpg -ba file)
     * ex. gpg2 -u <id_key> -ba apache-jmeter-2.5.1_src.tgz
     * ex. gpg2 -u <id_key> -ba apache-jmeter-2.5.1_src.zip
     * ex. gpg2 -u <id_key> -ba apache-jmeter-2.5.1.tgz
     * ex. gpg2 -u <id_key> -ba apache-jmeter-2.5.1.zip
 * Generate RAT report (example on Linux with Java)
  * java -jar $RAT_HOME/apache-rat-0.7.jar ./apache-jmeter-2.5.1.tgz > rat-report-jmeter-2.5.1RC1.txt
  * Distribution ant task: ant distribution -lib=<libextra> -Djmeter.version=m.n -Duser.name=user-AT-apache.org
{{{
ant distribution -Djmeter.version=2.5.1 -Duser.name=username@apache.org
}}}
  * sign distribution files and maven files via ant tasks:
{{{
ant _dist_maven -Djmeter.version=2.5.1
ant sign_dist -Dgpg.keyname=<YOUR_KEY_ID> -Dgpg.secretKeyring=<path to secring.gpg i.e. ~/.gnupg/secring.gpg>
}}}
  * Upload to Maven repository:
{{{
ant maven_upload -Djmeter.version=2.5.1 -DrepoType=releases
}}}
 * Go to [[https://repository.apache.org/|Apache Repository]]
   * Section '''Staging Repositories'''
     * Check the RC box, add click on Close button (see [[https://docs.sonatype.org/display/Repository/Closing+a+Staging+Repository|Closing a staging repository]])
   * You will receive a email with JMeter Maven Repo URLs
      * The main URL must be added to email vote.

 * Generate [[http://incubator.apache.org/rat/|RAT]] report (example on Linux with Java)
{{{
java -jar $RAT_HOME/apache-rat-0.8.jar ./apache-jmeter-2.5.1.tgz > rat-report-jmeter-2.5.1RC2.txt
unix2dos rat-report-jmeter-2.5.1RC2.txt
}}}
Line 38: Line 69:
 * upload to temporary location (e.g. personal dir)
  * cd public_html ; mkdir jmeter-m.n
  * cd jmeter-m.n
  * mkdir dist
  * copy archives, sigs and hashes to dist
  * check hashes (before / after uploads)
  * Install the site docs: `svn co http://svn.apache.org/repos/asf/jmeter/tags/vm_nxx/docs`
 * Login to people.apache.org in SSH
 * Create temporary location to receive dist files
{{{
mkdir -p ~/JMETER_2_5_1_RC2/dist/
}}}

 * '''From your computer''', upload dist files and RAT report to the temporary location (e.g. personal dir: ~/JMETER_2_5_1_RC2/dist/) in people.apache.org

 * Return to people.apache.org
 * Preparation RC publishing
{{{
mkdir -p ~/public_html/jmeter-2.5.1RC2/dist/
}}}
 * copy archives, sigs and hashes to dist
{{{
cp ~/JMETER_2_5_1_RC2/dist/* ~/public_html/jmeter-2.5.1RC2/dist/
}}}

 * check hashes (before / after uploads)

  * Install the site docs:
{{{
cd ~/public_html/jmeter-2.5.1RC2/
svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2/docs docs
}}}
Line 46: Line 95:
     * Example:
{{{
cd $HOME
cp ~/public_html/jmeter-2.5.1RC2/dist/apache-jmeter-2.5.1.tgz $HOME
tar xfz apache-jmeter-2.5.1.tgz
cd apache-jmeter-2.5.1/docs/
mv api ~/public_html/jmeter-2.5.1RC2/docs/api
rm -r $HOME/apache-jmeter-2.5.1
}}}
Line 47: Line 105:
 * Wait for any feedback; address any issues raised, if necessary by creating another release tag  * Wait for any feedback (at least 72 hours); address any issues raised, if necessary by creating another release tag
Line 49: Line 107:

= After VOTE success =
Line 51: Line 111:

= Upload files =
{{{
svn copy https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2 https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1
}}}

= Move RC dist files to release =
 * Connect to people.apache.org in SSH
 * Go to RC dist repository (e.g. personal dir)
{{{
cd ~/public_html/jmeter-2.5.1RC2/dist
}}}
Line 55: Line 122:
{{{
chgrp jmeter apache-jmeter*
chmod g+w apache-jmeter*
}}}
Line 56: Line 127:
{{{
cp apache-jmeter-2.5.1_src* /www/www.apache.org/dist/jmeter/source
cp apache-jmeter-2.5.1.zip* /www/www.apache.org/dist/jmeter/binaries
cp apache-jmeter-2.5.1.tgz* /www/www.apache.org/dist/jmeter/binaries
}}}
Line 62: Line 138:
= Update Site dist =
 * Checkout dist project on your computer
{{{
svn co https://svn.apache.org/repos/asf/jmeter/dist dist-jmeter
}}}
   * Edit HEADER.html to modifiy with new version number
   * Optional, add your GPG public key to KEYS
   * Commit with svn
{{{
svn commit
}}}
 * Login to people.apache.org in SSH
   * Go to dist dir:
{{{
cd /www/www.apache.org/dist/jmeter
}}}
   * Execute a svn update
{{{
svn update
}}}
Line 65: Line 162:
 * cd /www/jmeter.apache.org/  * Go to:
{{{
cd /www/jmeter.apache.org/
}}}
Line 68: Line 168:
  * Example:
{{{
svn switch http://svn.apache.org/repos/asf/jmeter/branches/docs-2.5.1/docs
}}}
Line 71: Line 175:
     * Example:
{{{
cd /www/jmeter.apache.org/
rm -r /www/jmeter.apache.org/api
cd ~/public_html/jmeter-2.5.1RC2/docs
cp -R api /www/jmeter.apache.org
chmod -R g+w /www/jmeter.apache.org/api
}}}
Line 73: Line 185:
= Maven Release =
 * Go to [[https://repository.apache.org/|Apache Repository]]
 * Section '''Staging Repositories'''
   * Check the RC box, add click on Release button (see: [[https://docs.sonatype.org/display/Repository/Releasing+a+Staging+Repository|Release a staging repository]])
 * You will receive a email with JMeter Maven Repo URLs
    * The main URL can be added to email announce
Line 75: Line 194:
'''Make sure: JMeter website is update AND download mirrors too.'''
Line 76: Line 196:
 * update doap_JMeter.rdf details in trunk  * update doap_JMeter.rdf details in trunk and commit
Line 78: Line 198:
   * Double check all URL in email announce!

This page is a brain dump of the various items needed for a release. It needs some work...

Preparation

  • request Bugzilla version update (on INFRA or if you are JMeter committer, ask for sufficient Bugzilla karma to do this yourself)

  • ensure changes.xml is up to date
  • update JMeterVersion.java (version and year), build.xml (version and docversion) and NOTICE (year)

  • update xdocs/download_jmeter.xml to the new version
  • build site documents, having first cleaned out existing files (so obsolete files will be removed):
    • [clean-docs] then [docs-site]
  • update docs tree in SVN
  • build code
  • test
    • GUI and non-GUI using host with graphic capability
    • non-GUI only using host with no graphic capability
    • ideally test on minimum supported Java and latest Java - especially for GUI

Generate Release

  • tag all the files with a new RC tag, e.g. v2_5_1_RC2
    • SVN commands (example) :

svn copy https://svn.apache.org/repos/asf/jmeter/trunk https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2
  • N.B. Tags must be immutable, i.e. must not be changed once created. A tag can be deleted if it is no longer needed, but must not be recreated.
    • If there is a problem with the contents of an RC tag, create a new tag, for example v2_5_1_RC3
    • If the tag is part of an ongoing release vote, do not delete it whilst the vote is ongoing, even if the vote is now using a later tag. It can be useful to be able to compare the contents of tags as part of the voting process.
    • Once the release vote is over, intermediate tags are no longer needed, and can be deleted.
    • If the tag has not been used in a release vote, it can be deleted immediately.
  • extract files from SVN using the tag into a new directory tree

svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2 jmeter_v2_5_1_RC2
  • Move to new directory:

cd jmeter_v2_5_1_RC2/
  • download jars needed to build: "ant download_jars"

ant download_jars
  • create distribution files:
    • Distribution ant task: ant distribution -lib=<libextra> -Djmeter.version=m.n -Duser.name=user-AT-apache.org

ant distribution -Djmeter.version=2.5.1 -Duser.name=username@apache.org
  • sign distribution files and maven files via ant tasks:

ant _dist_maven -Djmeter.version=2.5.1
ant sign_dist -Dgpg.keyname=<YOUR_KEY_ID> -Dgpg.secretKeyring=<path to secring.gpg i.e. ~/.gnupg/secring.gpg>
  • Upload to Maven repository:

ant maven_upload -Djmeter.version=2.5.1 -DrepoType=releases
  • Go to Apache Repository

    • Section Staging Repositories

    • You will receive a email with JMeter Maven Repo URLs
      • The main URL must be added to email vote.
  • Generate RAT report (example on Linux with Java)

java -jar $RAT_HOME/apache-rat-0.8.jar ./apache-jmeter-2.5.1.tgz > rat-report-jmeter-2.5.1RC2.txt
unix2dos rat-report-jmeter-2.5.1RC2.txt

Vote on release

  • Login to people.apache.org in SSH
  • Create temporary location to receive dist files

mkdir -p ~/JMETER_2_5_1_RC2/dist/
  • From your computer, upload dist files and RAT report to the temporary location (e.g. personal dir: ~/JMETER_2_5_1_RC2/dist/) in people.apache.org

  • Return to people.apache.org
  • Preparation RC publishing

mkdir -p ~/public_html/jmeter-2.5.1RC2/dist/
  • copy archives, sigs and hashes to dist

cp ~/JMETER_2_5_1_RC2/dist/* ~/public_html/jmeter-2.5.1RC2/dist/
  • check hashes (before / after uploads)
    • Install the site docs:

cd ~/public_html/jmeter-2.5.1RC2/
svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2/docs docs
  • Extract Javadocs: unzip -x jmeter-m.n.o.zip '*/docs/api/*' and move to docs/api

    • Example:

cd $HOME
cp  ~/public_html/jmeter-2.5.1RC2/dist/apache-jmeter-2.5.1.tgz $HOME
tar xfz apache-jmeter-2.5.1.tgz
cd apache-jmeter-2.5.1/docs/
mv api ~/public_html/jmeter-2.5.1RC2/docs/api
rm -r $HOME/apache-jmeter-2.5.1
  • send round [VOTE] e-mail to dev
  • Wait for any feedback (at least 72 hours); address any issues raised, if necessary by creating another release tag
  • If at least 3 PMC votes, then continue

After VOTE success

  • send round [VOTE] [RESULT] e-mail to same mailing lists
  • Copy the RC tag to the release tag

svn copy https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2 https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1

Move RC dist files to release

  • Connect to people.apache.org in SSH
  • Go to RC dist repository (e.g. personal dir)

cd ~/public_html/jmeter-2.5.1RC2/dist
  • Make sure that file group is set to jmeter (chgrp jmeter apache-jmeter*)

chgrp jmeter apache-jmeter*
chmod g+w apache-jmeter*
  • copy archives to /www/www.apache.org/dist/jmeter/binaries and /www/www.apache.org/dist/jmeter/source as appropriate

cp apache-jmeter-2.5.1_src* /www/www.apache.org/dist/jmeter/source
cp apache-jmeter-2.5.1.zip* /www/www.apache.org/dist/jmeter/binaries
cp apache-jmeter-2.5.1.tgz* /www/www.apache.org/dist/jmeter/binaries

Update Site dist

  • Checkout dist project on your computer

svn co  https://svn.apache.org/repos/asf/jmeter/dist dist-jmeter
  • Edit HEADER.html to modifiy with new version number
  • Optional, add your GPG public key to KEYS
  • Commit with svn

svn commit
  • Login to people.apache.org in SSH
    • Go to dist dir:

cd /www/www.apache.org/dist/jmeter
  • Execute a svn update

svn update

Update JMeter site

  • login to people.apache.org
  • Go to:

cd /www/jmeter.apache.org/
  • fetch site from SVN:
    • svn switch http://svn.apache.org/repos/asf/jmeter/tags/vm_n_o/docs

    • Example:

svn switch http://svn.apache.org/repos/asf/jmeter/branches/docs-2.5.1/docs
  • If the documentation needs to be updated between releases, create a branch docs-vm_n_o from the tag and switch to that
  • for later updates, use "svn switch" or "svn update" as appropriate (use svn info to find current setting)
  • The Javadocs are not in SVN so these need to be copied from the staging area
    • Example:

cd /www/jmeter.apache.org/
rm -r /www/jmeter.apache.org/api
cd ~/public_html/jmeter-2.5.1RC2/docs
cp -R api /www/jmeter.apache.org
chmod -R g+w /www/jmeter.apache.org/api
  • N.B. wait for few hours so site updates catch up

Maven Release

  • Go to Apache Repository

  • Section Staging Repositories

  • You will receive a email with JMeter Maven Repo URLs
    • The main URL can be added to email announce

Announce

Make sure: JMeter website is update AND download mirrors too.

  • update Wiki version details
  • update doap_JMeter.rdf details in trunk and commit
  • send [ANNOUNCE] e-mail to user@jmeter.a.o, dev@jmeter.a.o

    • Double check all URL in email announce!
  • also copy to announce AT ao (has to be sent from an ao e-mail address)
  • N.B. to track bounces and unsubscribes, it may be a good idea to use a separate mail to Announce

Tidy up

  • remove old archives from /www/www.apache.org/jmeter/dist

ReleaseCreation (last edited 2019-02-06 13:17:34 by Philippe Mouawad)