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 [email protected] 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 [email protected] + ant distribution -Djmeter.version=2.7 [email protected] }}} * 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 }}}
