You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2010/06/02 11:32:59 UTC

svn commit: r950449 - /tiles/framework/trunk/src/site/apt/dev/release.apt

Author: apetrelli
Date: Wed Jun  2 09:32:59 2010
New Revision: 950449

URL: http://svn.apache.org/viewvc?rev=950449&view=rev
Log:
TILES-510
Updated release process documentation.

Modified:
    tiles/framework/trunk/src/site/apt/dev/release.apt

Modified: tiles/framework/trunk/src/site/apt/dev/release.apt
URL: http://svn.apache.org/viewvc/tiles/framework/trunk/src/site/apt/dev/release.apt?rev=950449&r1=950448&r2=950449&view=diff
==============================================================================
--- tiles/framework/trunk/src/site/apt/dev/release.apt (original)
+++ tiles/framework/trunk/src/site/apt/dev/release.apt Wed Jun  2 09:32:59 2010
@@ -50,8 +50,8 @@ One-time operations
 * Create and publish your GPG key
 
   To create a GPG key, follow the
-  {{{http://maven.apache.org/developers/release/pmc-gpg-keys.html}guidelines}}
-  from Maven team. Include it in:
+  {{{http://www.apache.org/dev/openpgp.html}guidelines}}.
+  Include it in:
 
 -------------------------------------
 https://svn.apache.org/repos/asf/tiles/site/KEYS
@@ -65,13 +65,13 @@ https://svn.apache.org/repos/asf/tiles/s
   * Generate your SSH key (in this case we will use DSA encryption):
 
 ---------------------------------
-ssh-keygen -t dsa
+ssh-keygen -t rsa
 ---------------------------------
 
   * Copy your public key to the server:
 
 --------------------------------------
-scp ~/.ssh/id_dsa.pub user@people.apache.org:.ssh/authorized_keys
+scp ~/.ssh/id_rsa.pub user@people.apache.org:.ssh/authorized_keys
 --------------------------------------
 
   * Try to login:
@@ -82,16 +82,51 @@ ssh user@people.apache.org
 
   If it does not ask you a password, everything is ok.
 
-Repeatable operations
+* Modify <<<settings.xml>>>
 
-  These steps must be performed <<for each>> release.
+  Your <<<settings.xml>>> must be modified to allow deployment.
+
+  This is the minimal configuration, obviously if you already have a <<<settings.xml>>> file,
+  you must edit it:
 
-* Remove snapshot repositories
+---------------------------
+<settings xmlns="http://maven.apache.org/POM/4.0.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
+    <servers>
+        <server>
+            <id>apache-site</id>
+            <username>YOUR_APACHE_USERNAME</username>
+            <filePermissions>664</filePermissions>
+            <directoryPermissions>775</directoryPermissions>
+        </server>
+        <server>
+            <id>apache.snapshots.https</id>
+            <username>YOUR_APACHE_USERNAME</username>
+            <password>YOUR_APACHE_PASSWORD</password>
+        </server>
+        <server>
+            <id>apache.releases.https</id>
+            <username>YOUR_APACHE_USERNAME</username>
+            <password>YOUR_APACHE_PASSWORD</password>
+        </server>
+    </servers>
+    <profiles>
+        <profile>
+            <id>release</id>
+            <properties>
+                <gpg.passphrase>YOUR_SECRET_PHRASE</gpg.passphrase>
+            </properties>
+            </profile>
+        </profile>
+    </profiles>
+</settings>
+---------------------------
+
+Repeatable operations
 
-  Snapshot repositories (for libraries and plugins) should be removed from the
-  main POM before a release. The problem is that a system behind a corporate
-  firewall/white list cannot access to the snapshot repository URL, thus giving
-  an error.
+  These steps must be performed <<for each>> release.
 
 * Prepare the release tag
 
@@ -106,20 +141,35 @@ mvn release:prepare -Dusername=YOUR_SVN_
   tag to use and the next snapshot version. It is reccomended to use the tag:
   <<tiles-X.X.X>>.
 
-* Check-out and install the release
-
-  Due to an {{{https://issues.apache.org/jira/browse/TILES-149}open bug}}, it
-  is needed to check out and install, through <<<mvn install>>>, the tag;
-  otherwise the release process fails.
-
 * Perform the Release
 
   To perform the release, i.e. creating and deploying Maven artifacts, use:
 
 -----------------------------------
-mvn -Prelease -Darguments="-Prelease" release:perform
+mvn release:perform
 -----------------------------------
 
+* Close the staging repository
+
+  Login to {{{https://repository.apache.org using} Nexus repository}} your Apache LDAP credentials.
+  Click on "Staging". Then click on "tiles" in the list of repositories.
+  In the panel below you should see an open repository that is linked to your username and ip.
+  Right click on this repository and select "Close".
+  This will close the repository from future deployments and make it available for others to view.
+  If you are staging multiple releases together, skip this step until you have staged everything.
+  Enter the name and version of the artifact being released in the "Description" field and then click "Close".
+  This will make it easier to identify it later.
+
+* Verify the staged artifacts
+
+  If you click on your repository, a tree view will appear below.
+  You can then browse the contents to ensure the artifacts are as you expect them.
+  Pay particular attention to the existence of *.asc (signature) files.
+  If the you don't like the content of the repository, right click your repository and choose "Drop".
+  You can then rollback your release and repeat the process.
+
+  Note the repository URL, you will need this in your vote email.
+
 * Digest and upload assemblies
 
   * Go into the release assembly target directory:
@@ -180,7 +230,7 @@ Distribution:
 
 Maven 2 staging repository:
 
- * http://people.apache.org/builds/tiles/${version}/m2-staging-repository/
+ * https://repository.apache.org/content/repositories/tiles-[YOUR REPOSITORY ID]/
 
 A vote regarding the quality of this test build will be initiated
 within the next couple of days.
@@ -206,7 +256,7 @@ Distribution:
 
 Maven 2 staging repository:
 
- * http://people.apache.org/builds/tiles/${version}/m2-staging-repository/
+ * https://repository.apache.org/content/repositories/tiles-[YOUR REPOSITORY ID]/
 
 If you have had a chance to review the test build, please respond with
 a vote on its quality:
@@ -227,17 +277,19 @@ three binding +1s and more +1s than -1s.
   After a vote is finished, and it has been decided that is
   <<at least of alpha quality>>, there is the need of a post-vote process.
 
-** Move artifacts
+** Promote staged artifacts
+
+  Once the release is deemed fit for public consumption it can be transfered to a production repository where it will be available to all users.
+
+  Login to {{{https://repository.apache.org}Nexus repository}} again.
+  Click on "Staging" and then on the repository with id "tiles-staging".
+  Find your closed staging repository, right click on it and choose "Promote".
+  Select the "Releases" repository and click "Promote".
 
-  * Move Maven artifacts to the rsync repository. To do it there is an
-  {{{https://svn.apache.org/repos/asf/maven/plugins/trunk/maven-stage-plugin/}<<experimental stage plugin>>}}
-  to help in the process (WARNING: not tested yet!).
-  Merge the staging repository with the rsync repository:
-
-------------------------------------------
-mvn stage:copy -Dsource="http://people.apache.org/builds/tiles/${version}/m2-staging-repository/"
--Dtarget="scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository" -Dversion=${version}
-------------------------------------------
+  Next click on "Repositories", select the "Releases" repository
+  and validate that your artifacts exist as you expect them.
+
+** Move assemblies
 
   * Move assemblies to the Apache distribution mirrors:
 
@@ -249,12 +301,6 @@ mkdir /www/www.apache.org/dist/tiles/v${
 cp * /www/www.apache.org/dist/tiles/v${version}/
 -------------------------------------------
 
-  * Upload the <<<KEYS>>> file to the Apache mirrors:
-
--------------------------------------------
-scp KEYS user@people.apache.org:/www/www.apache.org/dist/tiles/v${version}/
--------------------------------------------
-
 ** Update the site
 
   * Wait 24 hours to let the mirror sync to the release and then update the