You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by Apache Wiki <wi...@apache.org> on 2012/05/13 19:47:43 UTC

[Jmeter Wiki] Update of "ReleaseCreation" by Milamber

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jmeter Wiki" for change notification.

The "ReleaseCreation" page has been changed by Milamber:
http://wiki.apache.org/jmeter/ReleaseCreation?action=diff&rev1=40&rev2=41

  This page is a brain dump of the various items needed for a release.
+ 
+ = Requirements =
+  * a Java JDK in according with target JDK (java 5 for JMeter 2.7)
+  * a recent ant binary (1.8+)
+  * subversion (svn) installed
+  * a text editor
+  * hostname must resolve to ip address (not loopback)
  
  = Preparation =
   * 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)
+  * extract files from SVN trunk into a new temporay directory
+ {{{
+ svn co https://svn.apache.org/repos/asf/jmeter/trunk jmeter_trunk
+ }}}
+  * Move to new directory:
+ {{{
+ cd jmeter_trunk/
+ }}}
   * ensure changes.xml is up to date
-  * update JMeter``Version.java (version and year), build.xml (version and docversion) and NOTICE (year)
+  * update JMeterVersion.java (version and year), build.xml (version) and NOTICE (year)
+   * (src/core/org/apache/jmeter/util/JMeterVersion.java)
+   * build.xml: section: <property name="jmeter.version" value="2.7"/>
   * update xdocs/download_jmeter.xml to the new version
+   * section: <!ENTITY release '2.7'>
+  * Download external jars
+ {{{
+ ant download_jars 
+ }}}
   * 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
+ {{{
+ ant clean-docs
+ ant docs-site
+ }}}
+  * Commit update version files and docs tree in SVN to prepare next release.
+ {{{
+ svn commit
+ }}}
+  * build code to make a testing binary with this ant task:
+ {{{
+ ant -Djmeter.version=2.7 -Duser.name=username@apache.org distribution
+ }}}
+  * test the new binaries
     * 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
+  * tag all the files with a new RC tag, e.g. v2_7_RC1
-    * SVN commands (example) :
+    * SVN commands (example from jmeter_trunk tree) :
  {{{
- svn copy https://svn.apache.org/repos/asf/jmeter/trunk https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2
+ svn copy https://svn.apache.org/repos/asf/jmeter/trunk https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC1
  }}}
-  * 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.
+    * 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 there is a problem with the contents of an RC tag, create a new tag, for example v2_7_RC2
-    * 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.
+      * 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.
+      * 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.
+      * 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
+ svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC1 jmeter_v2_7_RC1
  }}}
   * Move to new directory:
  {{{
- cd jmeter_v2_5_1_RC2/
+ cd jmeter_v2_7_RC1/
  }}}
   * download jars needed to build: "ant download_jars"
  {{{
@@ -42, +73 @@

   * 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
+ ant distribution -Djmeter.version=2.7 -Duser.name=username@apache.org
  }}}
    * sign distribution files and maven files via ant tasks:
  {{{
- ant _dist_maven -Djmeter.version=2.5.1
+ ant _dist_maven -Djmeter.version=2.7
  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
+ ant maven_upload -Djmeter.version=2.7 -DrepoType=releases
  }}}
   * Go to [[https://repository.apache.org/|Apache Repository]]
     * Section '''Staging Repositories'''
@@ -61, +92 @@

  
   * 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
+ java -jar $RAT_HOME/apache-rat-0.8.jar ./apache-jmeter-2.7.tgz > rat-report-jmeter-2.7RC1.txt
- unix2dos rat-report-jmeter-2.5.1RC2.txt
+ unix2dos rat-report-jmeter-2.7RC1.txt
  }}}
  
  
@@ -71, +102 @@

   * Login to people.apache.org in SSH 
   * Create temporary location to receive dist files
  {{{
- mkdir -p ~/JMETER_2_5_1_RC2/dist/
+ mkdir -p ~/JMETER_2_7_RC1/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
+  * '''From your computer''', upload dist files and RAT report to the temporary location (e.g. personal dir: ~/JMETER_2_7_RC1/dist/) in people.apache.org
  
   * Return to people.apache.org
   * Preparation RC publishing
  {{{
- mkdir -p ~/public_html/jmeter-2.5.1RC2/dist/
+ mkdir -p ~/public_html/jmeter-2.7RC1/dist/
  }}}
   * copy archives, sigs and hashes to dist
  {{{
- cp ~/JMETER_2_5_1_RC2/dist/* ~/public_html/jmeter-2.5.1RC2/dist/
+ cp ~/JMETER_2_7_RC1/dist/* ~/public_html/jmeter-2.7RC1/dist/
  }}}
  
   * check hashes (before / after uploads)
  
    * Install the site docs:
  {{{
- cd ~/public_html/jmeter-2.5.1RC2/
+ cd ~/public_html/jmeter-2.7RC1/
- svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_5_1_RC2/docs docs
+ svn co https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC1/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
+ cp  ~/public_html/jmeter-2.7RC1/dist/apache-jmeter-2.7.tgz $HOME
- tar xfz apache-jmeter-2.5.1.tgz
+ tar xfz apache-jmeter-2.7.tgz
- cd apache-jmeter-2.5.1/docs/
+ cd apache-jmeter-2.7/docs/
- mv api ~/public_html/jmeter-2.5.1RC2/docs/api
+ mv api ~/public_html/jmeter-2.7RC1/docs/api
- rm -r $HOME/apache-jmeter-2.5.1
+ rm -r $HOME/apache-jmeter-2.7
  }}}
   * 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
@@ -111, +142 @@

   * 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
+ svn copy https://svn.apache.org/repos/asf/jmeter/tags/v2_7_RC1 https://svn.apache.org/repos/asf/jmeter/tags/v2_7
  }}}
  
  = 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
+ cd ~/public_html/jmeter-2.7RC1/dist
  }}}
   * Make sure that file group is set to jmeter (chgrp jmeter apache-jmeter*)
  {{{
@@ -127, +158 @@

  }}}
   * 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.7_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.7.zip* /www/www.apache.org/dist/jmeter/binaries
- cp apache-jmeter-2.5.1.tgz* /www/www.apache.org/dist/jmeter/binaries
+ cp apache-jmeter-2.7.tgz* /www/www.apache.org/dist/jmeter/binaries
  }}}
   * check files are visible and downloadable from www.apache.org (2+ hours)
    * http://www.apache.org/dist/jmeter/binaries/
@@ -169, +200 @@

    * `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
+ svn switch http://svn.apache.org/repos/asf/jmeter/branches/docs-2.7/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)
@@ -178, +209 @@

  {{{
  cd /www/jmeter.apache.org/
  rm -r /www/jmeter.apache.org/api
- cd ~/public_html/jmeter-2.5.1RC2/docs
+ cd ~/public_html/jmeter-2.7RC1/docs
  cp -R api /www/jmeter.apache.org
  chmod -R g+w /www/jmeter.apache.org/api
  }}}