Jump to: navigation, search

Difference between revisions of "Jetty/Contributor/Releasing"

 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Jetty Contributor}}
 
{{Jetty Contributor}}
 +
 +
{{Jetty Redirect|http://www.eclipse.org/jetty/documentation/current/releasing-jetty.html}}
  
 
The Jetty project uses Apache Maven to build and release its software artifacts.  This terminology is oft confused with the release process of projects within Eclipse so we are endeavoring to bridge these differences.  We are still working out the process for releasing Jetty in the Eclipse definition of the word; this will be documented once we are there.
 
The Jetty project uses Apache Maven to build and release its software artifacts.  This terminology is oft confused with the release process of projects within Eclipse so we are endeavoring to bridge these differences.  We are still working out the process for releasing Jetty in the Eclipse definition of the word; this will be documented once we are there.
  
== Maven Related Instructions ==
+
 
  
 
== Update Eclipse Project Plan ==
 
== Update Eclipse Project Plan ==
Do this in CVS before any release.
+
Do this in the git admin repository before any release.  The file is jetty-project-plan.xml in the org.eclipse.jetty.admin.git repository.
  
 
== Releasing Artifacts ==
 
== Releasing Artifacts ==
  
  COMMITTER_ID=<committer id>
+
  [[Jetty/Release Process|Step by Step Release Process]]
mvn -Dusername=$COMMITTER_ID -DautoVersionSubmodules=true release:prepare
+
 
mvn release:perform
+
  
 
The released artifacts will be staged to oss.sonatype.org where they await promotion when they will be released to the maven central repository.  More on this later.
 
The released artifacts will be staged to oss.sonatype.org where they await promotion when they will be released to the maven central repository.  More on this later.
Line 69: Line 70:
 
== Updating the stable links ==
 
== Updating the stable links ==
  
Since we are not allowed to have symbolic links on the download site we have to log into the machine manually and remove the previous stable directory and 'cp -r <verison> stable-7' to get it updated.  Maintaining the conventions we use on the site will allow all 'stable' links to be stable and not needed to update to the latest major Jetty build version:
+
Since we are not allowed to have symbolic links on the download site we have to log into the machine manually and remove the previous stable directory and 'cp -r <full_version> stable-<major_version>' to get it updated.  Maintaining the conventions we use on the site will allow all 'stable' links to be stable and not needed to update to the latest major Jetty build version. For example, to update 9.0.0.M5 as the stable version for the 9 series do:
  
  ssh <user>@dev.eclipse.org
+
  ssh <user>@build.eclipse.org
  cd /home/www/jetty/
+
  cd downloads
  rm -fr stable-7
+
  rm -fr stable-9
  cp -r <version> stable-7
+
  cp -r 9.0.0.M5 stable-9
 
  ./index.sh
 
  ./index.sh
  

Latest revision as of 14:54, 23 April 2013



The Jetty project uses Apache Maven to build and release its software artifacts. This terminology is oft confused with the release process of projects within Eclipse so we are endeavoring to bridge these differences. We are still working out the process for releasing Jetty in the Eclipse definition of the word; this will be documented once we are there.


Update Eclipse Project Plan

Do this in the git admin repository before any release. The file is jetty-project-plan.xml in the org.eclipse.jetty.admin.git repository.

Releasing Artifacts

Step by Step Release Process 


The released artifacts will be staged to oss.sonatype.org where they await promotion when they will be released to the maven central repository. More on this later.

Building and Deploying Aggregate Docs

Define the jetty.eclipse.website server entry in your .m2/settings.xml file. You'll need to have access to the dev.eclipse.org machine to perform these actions. If you don't know if you have access to this then you probably don't and will need to ask a project leader for help.

To build and deploy the aggregate javadoc and jxr bits:

cd target/checkout
mvn -Paggregate-site javadoc:aggregate jxr:jxr
mvn -N site:deploy

This will generate the aggregate docs and deploy them to the /home/www/jetty/<project version>/jetty-project directory on download.eclipse.org. The last step is to ssh to that machine and adjust the placement of the apidocs and xref directories to remove the jetty-project folder from the url so that we maintain a clean and consistent api url scheme.

ssh $COMMITTER_ID@dev.eclipse.org
cd /home/data/httpd/download.eclipse.org/jetty/<VERSION>
mv jetty-project/apidocs .
mv jetty-project/xref .
rmdir jetty-project

End result should be api documents accessible from http://download.eclipse.org/jetty/<project version>/api-docs and http://download.eclipse.org/jetty/<project version>/xref

Deploying distribution files to download.eclipse.org

  • download the files in http://repo2.maven.org/maven2/org/eclipse/jetty/jetty-distribution/VERSION into a directory called 'dist':
   mkdir /tmp/dist
   cd /tmp/dist
   wget -nd -nH -r -l1 https://oss.sonatype.org/content/groups/jetty-with-staging/org/eclipse/jetty/jetty-distribution/<VERSION>
   rm Sonatype-content.css* index.html
   cd ..
   scp -r dist <user>@dev.eclipse.org:/home/data/httpd/download.eclipse.org/jetty<VERSION>
  • update website links

Do a Codehaus release ASAP

Make sure a codehaus release is built and staged before the jetty release is promoted.

DO SOME MANUAL TESTING

Test jetty, hightide and the plugin. A good test line to run is:

 java -Dcom.sun.management.jmxremote -jar start.jar \
 OPTIONS=ajp,rewrite \
 --pre=etc/jetty-jmx.xml \
 --pre=etc/jetty-logging.xml \
 etc/jetty-ajp.xml \
 etc/jetty-bio.xml \
 etc/jetty-bio-ssl.xml \
 etc/jetty-debug.xml \
 etc/jetty-ipaccess.xml \
 etc/jetty-rewrite.xml \
 etc/jetty-ssl.xml \
 etc/jetty-stats.xml

Updating the stable links

Since we are not allowed to have symbolic links on the download site we have to log into the machine manually and remove the previous stable directory and 'cp -r <full_version> stable-<major_version>' to get it updated. Maintaining the conventions we use on the site will allow all 'stable' links to be stable and not needed to update to the latest major Jetty build version. For example, to update 9.0.0.M5 as the stable version for the 9 series do:

ssh <user>@build.eclipse.org
cd downloads
rm -fr stable-9
cp -r 9.0.0.M5 stable-9
./index.sh


Updating the Eclipse websites downloads page

The Eclipse website is in CVS, viewable from http://dev.eclipse.org/viewcvs/index.cgi/www/jetty/?root=Eclipse_Website. Access details are:

Host 
dev.eclipse.org
Repository Path 
/cvsroot/org.eclipse
User 
(committer username)
Password 
(committer password)
Connection Type 
extssh
Module 
www/jetty

Any commits you make will automatically show up live after a few minutes.

Set up in Eclipse

  1. import projects from CVS
  2. create a new repository location
  3. use an existing module (www/jetty)

Then you can simply edit the page, and commit your changes.

Preview locally (optional)

If you want to be able to preview your changes locally, you need to have Apache running, and check out an additional module, eclipse.org-common:

Host 
dev.eclipse.org
Repository Path 
/cvsroot/technology
User 
anonymous
Password 
(leave blank)
Connection Type 
pserver
Module 
org.eclipse.phoenix/eclipse.org-common
  1. cd /var/www
  2. ln -s /path/to/eclipse.org-common eclipse.org-common
  3. ln -s /path/to/www/jetty jetty

Then you'll be able to see the website on http://localhost/jetty, pre-commits.

Adding a Link to the Index on the Wiki

Update Jetty/Reference/Index of Generated Release Documents; add the newest version to the top of the page. Use the Jetty Release Document template