You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by bu...@apache.org on 2013/07/09 15:57:20 UTC

svn commit: r868908 - in /websites/staging/rave/trunk/content: ./ release-process.html

Author: buildbot
Date: Tue Jul  9 13:57:19 2013
New Revision: 868908

Log:
Staging update by buildbot for rave

Modified:
    websites/staging/rave/trunk/content/   (props changed)
    websites/staging/rave/trunk/content/release-process.html

Propchange: websites/staging/rave/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Jul  9 13:57:19 2013
@@ -1 +1 @@
-1483007
+1501265

Modified: websites/staging/rave/trunk/content/release-process.html
==============================================================================
--- websites/staging/rave/trunk/content/release-process.html (original)
+++ websites/staging/rave/trunk/content/release-process.html Tue Jul  9 13:57:19 2013
@@ -88,18 +88,16 @@
     <section id="content" class="row">
         <article class="span12">
           <h3 id="release-steps-overview">Release Steps Overview</h3>
-<p>There are two distinct sets of artifacts that are released on independent schedules:  rave-master &amp; rave-project.  The rave-master is the project metadata (committers, roles, etc) and only needs to be released when there is a change in the structure of the project itself (committers, mentors, etc).  The rave-project artifacts are comprised of all rave source code, binaries and a standalone demo.<br />
-</p>
+<p>There are two distinct sets of artifacts that are released on independent schedules:  rave-master &amp; rave-project.  The rave-master is the project metadata (committers, roles, etc) and only needs to be released when there is a change in the structure of the project itself (committers, mentors, etc).  The rave-project artifacts are comprised of all rave source code, binaries and a standalone demo.  </p>
 <p>All of the steps below apply to both the master and project releases, unless otherwise specified.  As an alternative to releasing separately, the projects MAY be released together as one combined release.  The steps for this can be found below. (<a href="#combined">Combined Release Steps</a>)</p>
+<p>Additionally, most of the steps in the release process can be automated using the release scripts found in the <a href="http://svn.apache.org/repos/asf/rave/release-management/">repository</a>.  Steps for the release scripts are found below. (<a href="#scripted">Scripted Release Steps</a>).</p>
 <h4 id="common-release-steps">Common Release Steps</h4>
 <ol>
 <li>
-<p>Environment setup for releasing artifacts (same for SNAPSHOTs and releases)  <br />
-</p>
+<p>Environment setup for releasing artifacts (same for SNAPSHOTs and releases)    </p>
 <ol>
 <li>
-<p>Increase the default Java heap available to Maven (required for Java SE 6) <br />
-</p>
+<p>Increase the default Java heap available to Maven (required for Java SE 6)   </p>
 <p>export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m" </p>
 </li>
 <li>
@@ -114,8 +112,7 @@
 </ol>
 </li>
 <li>
-<p>Prepare the source for release:   <br />
-</p>
+<p>Prepare the source for release:     </p>
 <ol>
 <li>Cleanup JIRA so the Fix Version in issues resolved since the last release includes this release version correctly.</li>
 <li>Update the text files in a working copy of the project root -<ol>
@@ -128,8 +125,7 @@
 </ol>
 </li>
 <li>
-<p>Checkout a clean copy of the trunk to release using command line svn. <br />
-</p>
+<p>Checkout a clean copy of the trunk to release using command line svn.   </p>
 <p><em>Do not use Eclipse to do the checkout. The extra dot (.) files created by Eclipse throws off the rat:check processing.</em></p>
 </li>
 <li>
@@ -137,9 +133,8 @@
 <p>$ mvn -P pedantic verify -DskipTests</p>
 </li>
 <li>
-<p>Do a dry run of the release:prepare step:<br />
-</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">mvn</span> <span class="o">-</span><span class="n">P</span> <span class="n">apache</span><span class="o">-</span><span class="n">release</span> <span class="n">release:prepare</span> <span class="o">-</span><span class="n">DautoVersionSubmodules</span><span class="o">=</span><span class="n">true</span> <span class="o">-</span><span class="n">DdryRun</span><span class="o">=</span><span class="n">true</span>
+<p>Do a dry run of the release:prepare step:  </p>
+<div class="codehilite"><pre>$ <span class="n">mvn</span> <span class="o">-</span><span class="n">P</span> <span class="n">apache</span><span class="o">-</span><span class="n">release</span> <span class="n">release</span><span class="p">:</span><span class="n">prepare</span> <span class="o">-</span><span class="n">DautoVersionSubmodules</span><span class="p">=</span><span class="n">true</span> <span class="o">-</span><span class="n">DdryRun</span><span class="p">=</span><span class="n">true</span>
 </pre></div>
 
 
@@ -148,8 +143,7 @@
 <li>Release version - take the default </li>
 <li>SCM release tag - <em>DO NOT TAKE THE DEFAULT</em>  - ${project.version}</li>
 <li>New development version - take the default</li>
-<li>GPG Passprhase<br />
-</li>
+<li>GPG Passprhase  </li>
 </ul>
 <p><em>If you cancel a release:prepare before it updates the pom.xml versions, then use the release:clean goal to just remove the extra files that were created.</em></p>
 <p>The Maven release plugin checks for SNAPSHOT dependencies in pom's. It will not complete the prepare goal until all SNAPSHOT dependencies are resolved.</p>
@@ -163,9 +157,8 @@
 </ol>
 </li>
 <li>
-<p>Cleanup the release prepare files again:<br />
-</p>
-<div class="codehilite"><pre><span class="nv">$</span> <span class="nv">mvn</span> <span class="o">-</span><span class="n">P</span> <span class="n">apache</span><span class="o">-</span><span class="n">release</span> <span class="n">release:clean</span>
+<p>Cleanup the release prepare files again:  </p>
+<div class="codehilite"><pre>$ <span class="n">mvn</span> <span class="o">-</span><span class="n">P</span> <span class="n">apache</span><span class="o">-</span><span class="n">release</span> <span class="n">release</span><span class="p">:</span><span class="n">clean</span>
 </pre></div>
 
 
@@ -199,8 +192,7 @@
 <p>Verify the Nexus release artifacts</p>
 <ol>
 <li>
-<p>Verify the staged artifacts in the nexus repo   <br />
-</p>
+<p>Verify the staged artifacts in the nexus repo     </p>
 <ul>
 <li>https://repository.apache.org/index.html</li>
 <li>Staging repositories (under Build Promotion) --&gt; Name column --&gt; org.apache.rave</li>
@@ -221,8 +213,7 @@
 <p>Build and stage the Demo artifacts (Rave Project releases Only)</p>
 <ol>
 <li>
-<p>Build and sign the standalone demo (with JPA):<br />
-</p>
+<p>Build and sign the standalone demo (with JPA):  </p>
 <ul>
 <li>Checkout the tag from SVN </li>
 <li>$ mvn -P jpa,dist</li>
@@ -252,8 +243,7 @@
 <li>Create a DISCUSS email thread on dev@ for any vote questions, <a href="release-discuss.txt">this</a></li>
 <li>
 <p>Perform a review of the release and cast your vote. See the following for more details on Apache releases </p>
-<p><a href="http://www.apache.org/dev/release.html">http://www.apache.org/dev/release.html</a><br />
-</p>
+<p><a href="http://www.apache.org/dev/release.html">http://www.apache.org/dev/release.html</a>  </p>
 </li>
 <li>
 <p>A -1 vote does not necessarily mean that the vote must be redone, however it is usually a good idea to rollback the release if a -1 vote is received. See - Recovering from a vetoed release</p>
@@ -269,8 +259,7 @@
 <p>Finalizing a release</p>
 <ol>
 <li>
-<p>Promote the staged nexus artifacts<br />
-</p>
+<p>Promote the staged nexus artifacts  </p>
 <ul>
 <li>https://repository.apache.org/index.html</li>
 <li>Staging repositories (under Build Promotion) --&gt; Name column --&gt; org.apache.rave</li>
@@ -278,25 +267,20 @@
 </ul>
 </li>
 <li>
-<p>Copy the source artifacts over to the distribution area<br />
-</p>
+<p>Copy the source artifacts over to the distribution area  </p>
 <ul>
 <li>$ svn co https://dist.apache.org/repos/dist/release/rave/sources ./rave-sources  (KEEP this directory until after the release process has been completed)</li>
 <li>$ cd ./rave-sources </li>
-<li>$ wget https://repository.apache.org/content/repositories/releases/org/apache/rave/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip  <br />
-</li>
-<li>$ wget https://repository.apache.org/content/repositories/releases/org/apache/rave/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.asc <br />
-</li>
-<li>$ wget https://repository.apache.org/content/repositories/releases/org/apache/rave/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.md5 <br />
-</li>
+<li>$ wget https://repository.apache.org/content/repositories/releases/org/apache/rave/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip    </li>
+<li>$ wget https://repository.apache.org/content/repositories/releases/org/apache/rave/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.asc   </li>
+<li>$ wget https://repository.apache.org/content/repositories/releases/org/apache/rave/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.md5   </li>
 <li>$ wget https://repository.apache.org/content/repositories/releases/org/apache/rave/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.sha1 </li>
 <li>$ svn add ${project.name}-*</li>
 <li>$ svn commit -m "Committing Source Release for ${project.name}-${project.version}</li>
 </ul>
 </li>
 <li>
-<p>Copy the binary artifacts over to the distribution area (for rave-project only)<br />
-</p>
+<p>Copy the binary artifacts over to the distribution area (for rave-project only)  </p>
 <ul>
 <li>$ svn co https://dist.apache.org/repos/dist/release/rave/binaries ./rave-binaries  (KEEP this directory until after the release process has been completed)</li>
 <li>$ cd rave-binaries</li>
@@ -351,8 +335,7 @@
 <p>$ svn del https://svn.apache.org/repos/asf/rave/tags/${project.version} -m "deleting tag from rolled back release"</p>
 </li>
 <li>
-<p>Delete the build artifacts on people &amp; www         <br />
-</p>
+<p>Delete the build artifacts on people &amp; www           </p>
 <ul>
 <li>$ rm -rfv /www/people.apache.org/builds/rave/${project.version}</li>
 <li>$ rm -rfv /www/www.apache.org/dist/rave/${project.version}</li>
@@ -389,23 +372,36 @@
 gpg: Signature made ...</p>
 <p><a name="combined" /></p>
 <h4 id="combined-release">Combined Release</h4>
-<p>In order to perform a combined release of the rave-master and rave-project trunks, do the following:  <br />
-</p>
-<ul>
-<li>Perform Steps 1-9 of the <a href="#release-steps">release</a> for Rave Master &amp; Rave Project<br />
+<p>In order to perform a combined release of the rave-master and rave-project trunks, do the following:    </p>
 <ul>
+<li>Perform Steps 1-9 of the <a href="#release-steps">release</a> for Rave Master &amp; Rave Project  <ul>
 <li>Do NOT perform step 10 until steps 1-9 have been completed for BOTH projects </li>
 <li>Build the rave-master FIRST</li>
 <li>When prompted to change the rave-project dependency on rave-master SNAPSHOT, do so to the release that you just built </li>
 </ul>
 </li>
-<li>Execute the remaining steps using the following e-mail templates<br />
-<ul>
-<li><a href="PPMC_Combined.txt">PMC Release Vote</a><br />
-</li>
+<li>Execute the remaining steps using the following e-mail templates  <ul>
+<li><a href="PPMC_Combined.txt">PMC Release Vote</a>  </li>
 </ul>
 </li>
 </ul>
+<p><a name="scripted" /></p>
+<h4 id="scripted-release">Scripted Release</h4>
+<p>There are two scripts in the repository created to facilitate simpler releases:  release.sh &amp; publish.sh.  The release script handles steps up to the VOTE e-mails and the publish script handles publishing the artifacts to the mirrors once a successful vote has been achieved.  </p>
+<p>To use the scripts, do the following:</p>
+<ol>
+<li>Export release.sh to a temporary directory</li>
+<li>Execute <code>./release.sh ${project.version} /Absolute/Path/To/Apache/SSH/Key</code></li>
+<li>When prompted, provide the same responses that you would in step 5 of the release steps above. Note that the submodules are autoversioned, so you should only need to input the release version once.</li>
+<li>After a successful execution follow steps  10 &amp; 12</li>
+</ol>
+<p>After a successful vote, do the following:</p>
+<ol>
+<li>Execute step 12.1 from the above list  </li>
+<li>Export publish.sh to a temporary directory</li>
+<li>Execute <code>./publish.sh ${project.name} ${project.version} /Absolute/Path/To/Apache/SSH/Key</code></li>
+<li>Execute steps 12.4-15</li>
+</ol>
         </article>
     </section>
   </div>