Added: continuum/site-publish/development/release.html URL: http://svn.apache.org/viewvc/continuum/site-publish/development/release.html?rev=1414544&view=auto ============================================================================== --- continuum/site-publish/development/release.html (added) +++ continuum/site-publish/development/release.html Wed Nov 28 06:41:18 2012 @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + Continuum - Continuum Release Guidelines + + + + + + + + + + + +
+ +
+
+
+

Continuum Release Guidelines

+
  • Continuum is versioned X.Y.Z -- Major.Minor.Build. The Major and Minor versions are set at the beginning of a series, after which we use sequential build numbers starting with .0. For example, 1.3.0, 1.3.1, 1.3.2.
  • +
  • Ideally each version is tagged and built exactly once. The Release Manager (RM) has discretion to re-build a version if something goes wrong during the release process, but once a version has been made available for public download, that version number may not be re-used.
  • +
  • During the vote, an additional qualifier is determined. For example: 1.3.0 (M1) or 1.3.7 (GA). Respectively, these mean Milestone 1 and General Availability. Qualifiers such as Alpha and Beta are also acceptable, as is RC (Release Candidate).
  • +
  • If the vote does not pass, the qualifier may be reused. For example, if 1.3.0 was meant to be Milestone 1 but does not get approved, 1.3.1 can become M1.
  • +
  • When releases are announced to the community, the additional qualifier is used in addition to the version number. For example: [ANN] Continuum 1.3.3 (Milestone 2) Release or [ANN] Continuum 1.3.6 (GA) Release
  • +
  • A qualifier can be changed by calling a new vote. If we get to 1.3.8 (M5) and decide that it has no problems and there's nothing else we want to add, we can simply re-label it GA and update the website.
  • +
  • New features may be added to 1.3.x releases until we reach GA, at which point only minor changes should be made.
  • +
  • If the vote does not pass, the binaries should be removed from the download area, and the version should be labeled "test build" on the release notes page.
  • +
+
+

Continuum Release Preparation

+
  1. Post to the dev list a few days before you plan to do a Continuum release
  2. +
  3. Check for SNAPSHOT dependencies, including the Continuum parent POM
  4. +
  5. Update continuum-docs/src/site/xdoc/release-notes.xml
    • Copy and paste the html release notes from JIRA
    • +
    • Remove the first line with the heading
    • +
    +
  6. +
  7. Make sure that you have the "release" profile set in your settings.xml as shown below.
    <profile>
    +  <id>release</id>
    +  <properties>
    +    <gpg.passphrase>[GPG_PASS_PHRASE]</gpg.passphrase>
    +  </properties>
    +</profile>
    +
    +
  8. +
  9. Set your user credentials for the stage repo in the <servers> section of your settings.xml file.
  10. +
+
+

Continuum Release Process

+

By default, the release will be staged in http://people.apache.org/builds/continuum/${version}/staging-repo. If you want to stage it elsewhere, set the deploy.altRepository property in your settings.xml file. For example:

+
<deploy.altRepository>vmbuild.staging::default::http://vmbuild.apache.org/archiva/repository/staged-continuum/</deploy.altRepository>
+
+

Note: If using Archiva to deploy to, you will need to clear the deployment repository first

+
  1. Check trunk is building correctly (including Selenium tests) by running:
    mvn clean install -Pintegration
    +
    +
  2. +
  3. Execute mvn release:prepare (check that it has been properly tagged. The tag name must be continuum-[VERSION])
  4. +
  5. Then execute mvn release:perform
  6. +
  7. ssh to people.apache.org and cd to /www/people.apache.org/builds/continuum/VERSION. Execute the following commands to copy and rename the source and binary distributions.
    svn cat http://svn.apache.org/repos/asf/continuum/project/release-script.sh > ../release-script.sh
    +sh ../release-script.sh VERSION STAGING_URL
    +
    +
  8. +
  9. Stage the site mvn site:stage-deploy -DstagingSiteURL=scp://people.apache.org/home/USERID/public_html/staging-sites/continuum/1.3.4 from the continuum-docs module of the release tag or target/checkout directory
  10. +
  11. Call for a vote in the dev list and wait for 72 hours for the vote results. 3 binding votes from PMC members are necessary for the release to be finalized. Example
  12. +
  13. After the vote has passed, copy the sources and binaries from people.apache.org to /www/www.apache.org/dist/continuum.
  14. +
  15. To sync the JARs to the central repository, execute:
    mvn stage:copy -Dsource="[STAGE_REPO_URL]"
    +     -Dtarget="scp://[APACHE_USERNAME]@people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository"
    +     -Dversion=1.3.4 -DrepositoryId=apache.releases
    +
    +

    Note: Do not use Maven 2.0.9 because it has a bug when performing mvn stage:copy

    +

    Note: You can also use scpexe:// especially if you are building from another machine using SSH agent forwarding

    +
  16. +
  17. Execute fix permissions scripts. Login to people.apache.org
    /www/people.apache.org/repo/m2-snapshot-repository/fix-permissions.sh
    +
    +
  18. +
  19. Publish the docs with mvn site-deploy from the continuum-docs module from the release tag
  20. +
  21. Update the Continuum site at https://svn.apache.org/repos/asf/continuum/site/ with the versions and release notes URL and run mvn site-deploy. Below is the list of pages that you need to update:
    • src/site/xdoc/index.xml
    • +
    • src/site/apt/known-issues.apt
    • +
    • src/site/apt/download.apt
    • +
    • src/site/apt/changelog.apt
    • +
    • src/site/resources/.htaccess - update Redirect Permanent /docs/current http://continuum.apache.org/docs/1.0.1/ to the latest released GA version
    • +
    +
  22. +
  23. Remove versions that no longer need to be downloaded from the mirror from /www/www.apache.org/dist/continuum
  24. +
  25. Publish the reference docs (mvn site-deploy from the release tag. You may have to exclude the continuum-webapp module to do this, and will require MAVEN_OPTS=-Xmx256m
  26. +
  27. Update JIRA to indicate the version is released
  28. +
  29. Send out an announcement of the release
  30. +
+
+

Verifying a Release

+

Download the uploaded files via wget:

+
 wget http://people.apache.org/builds/continuum/1.3.4/source/apache-continuum-1.3.4-src.tar.gz
+
+

Verify the signatures:

+
 gpg -v apache-continuum-1.3.4-src.zip.asc
+
+

Verify the checksums:

+
 md5sum apache-continuum-1.3.4-src.zip
+ cat apache-continuum-1.3.4-src.zip.md5
+
+ sha1sum apache-continuum-1.3.4-src.zip
+ cat apache-continuum-1.3.4-src.zip.sha1
+
+
+

Publishing a release

+

Tally the vote and reply on the vote thread. I prefer not to change the subject line as it breaks threading in some clients.

+

Copy the distribution files over to /www/www.apache.org/dist/continuum

+
cp /www/people.apache.org/builds/continuum/1.3.4/apache-continuum-1.3.4-bin* /www/www.apache.org/dist/continuum/binaries/
+cp /www/people.apache.org/builds/continuum/1.3.4/apache-continuum-1.3.4.war* /www/www.apache.org/dist/continuum/binaries/
+cp /www/people.apache.org/builds/continuum/1.3.4/apache-continuum-1.3.4-src* /www/www.apache.org/dist/continuum/source/
+cp /www/people.apache.org/builds/continuum/1.3.4/apache-continuum-buildagent-1.3.4-bin* /www/www.apache.org/dist/continuum/binaries/
+cp /www/people.apache.org/builds/continuum/1.3.4/apache-continuum-buildagent-1.3.4.war* /www/www.apache.org/dist/continuum/binaries/
+
+

Promote the staged repository contents

+
mvn stage:copy -Dsource="http://people.apache.org/builds/continuum/1.3.4/staging-repo" \
+-Dtarget="scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository" \
+-Dversion=1.3.4 \
+-DtargetRepositoryId=apache.releases
+
+

Note: This copies everything in the staging repo, even if you specify a version

+

Update the index.xml and downloads.apt pages on the main site

+

Publish the versioned reference docs (mvn site-deploy from a checkout of the tag)

+

Publish the top-level website

+

Announce the release on the dev and user lists

+

Optionally announce on the Apache announcements list (only for major versions?)

+

Remove old releases from /www/www.apache.org/dist (make sure to remove them from downloads.apt or the links will be broken)

+

Open a bottle of champagne ! :-)

+
+

Releasing the parent POM

+

Check out the source from https://svn.apache.org/repos/asf/continuum/parent

+
  • mvn release:prepare (verify that it has been properly tagged)
  • +
  • mvn release:perform (verify that it has been deployed correctly in the staging repo)
  • +
  • Update the parent POM version in Continuum at https://svn.apache.org/repos/asf/continuum/trunk (or in the branch)
  • +
  • Change the parent POM version to the continuum-parent version that has just been released
  • +
  • Commit the changes made
  • +
+
+ +
+
+
+
+
+ + + Added: continuum/site-publish/download.html URL: http://svn.apache.org/viewvc/continuum/site-publish/download.html?rev=1414544&view=auto ============================================================================== --- continuum/site-publish/download.html (added) +++ continuum/site-publish/download.html Wed Nov 28 06:41:18 2012 @@ -0,0 +1,362 @@ + + + + + + + + + + + + + + + Continuum - Download + + + + + + + + + + + + +
+ +
+
+
+

Download Apache Continuum

+ + +

Previous Releases

+

More releases are available in the Apache Continuum Archives or prior to the graduation from Maven, in the Apache Maven Archives.

+
+

Verify the integrity of the files

+

We recommend that you verify the integrity of the downloaded files using the PGP signatures and MD5 checksums.

+

The PGP signatures can be verified using PGP or GPG. First download the KEYS as well as the asc signature file for the particular distribution. Make sure you get these files from the main distribution directory, rather than from a mirror. Then verify the signatures using

+

% pgpk -a KEYS

+

% pgpv $filename.tar.gz.asc

+

or

+

% pgp -ka KEYS

+

% pgp $filename.tar.gz.asc

+

or

+

% gpg --import KEYS

+

% gpg --verify $filename.tar.gz.asc

+

You can also verify the MD5 signature on the files. A Unix program called md5 or md5sum is included in many Unix distributions. It is also available as part of GNU Coreutils. Windows users can get binary md5 programs from Fourmilab, PC-Tools or SlavaSoft.

+
+
+ +
+
+
+
+
+ + + Added: continuum/site-publish/error-states.html URL: http://svn.apache.org/viewvc/continuum/site-publish/error-states.html?rev=1414544&view=auto ============================================================================== --- continuum/site-publish/error-states.html (added) +++ continuum/site-publish/error-states.html Wed Nov 28 06:41:18 2012 @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + Continuum - Continuum Error States + + + + + + + + + + + + +
+ +
+
+
+

Continuum Error Cases

+

This attempts to be a full catalog of all the things that could wrong while running Continuum. We catalog in an attempt to accurate trap the errors so we can report useful information back to the user.

+

Maven 2.x

+
  • m2 POM imported lacks an scm element
  • +
  • m2 POM imported lacks a ciManagement element
  • +
  • Missing m2 executable or it is not in the path
  • +
+
+

Maven 1.0 - 1.0.2

+
  • m2 POM imported lacks a repository element
  • +
  • m1 POM imported lacks a nagEmailAddress element
  • +
  • Missing maven executable or it is not in the path
  • +
+
+

Ant

+
  • Missing ant executable or it is not in the path
  • +
+
+

Shell

+
+
+ +
+
+
+
+
+ + + Added: continuum/site-publish/events.html URL: http://svn.apache.org/viewvc/continuum/site-publish/events.html?rev=1414544&view=auto ============================================================================== --- continuum/site-publish/events.html (added) +++ continuum/site-publish/events.html Wed Nov 28 06:41:18 2012 @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + Continuum - Events + + + + + + + + + + + +
+ +
+
+
+

Events

+

ApacheCon Europe 2009

+ApacheCon Europe 2009

Apache Continuum - Build, Test, and Release (Fri, March 27, 2009 at 2:00 PM)

+

Enterprise build and test in the cloud (Fri, March 27, 2009 at 3:00 PM)

+
+ +

ApacheCon US 2008

+

Intro to Apache Continuum - Fast Feather talk

+
+
+ +
+
+
+
+
+ + + Added: continuum/site-publish/faqs.html URL: http://svn.apache.org/viewvc/continuum/site-publish/faqs.html?rev=1414544&view=auto ============================================================================== --- continuum/site-publish/faqs.html (added) +++ continuum/site-publish/faqs.html Wed Nov 28 06:41:18 2012 @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + Continuum - Continuum Faqs + + + + + + + + + + + +
+ +
+
+
+ +

Adding a project

+
How can I add my maven 1 project which uses extends?
+
+

+ If you want to add a project that extends an other, you must add the parent project. + When you add a project with sub-projects, Continuum will add all sub-projects, so you + need to provide a URL instead of uploading a POM so that Continuum can find all sub-projects. +

+
[top]

+
+
How can I add my maven 2 project with modules?
+
+

+ If your project has modules, you need to provide a URL instead of uploading a POM. + When you add a project with modules, Continuum will add all sub-projects, and this + only works by submitting a URL. +

+
[top]

+
+
Can I use file protocol in Add Project view?
+
+

+ File protocol is disabled by default for security reasons. In Continuum 1.1, you can allow it in + $CONTINUUM_HOME/apps/continuum/webapp/WEB-INF/classes/META-INF/plexus/application.xml +

+

+ File protocol is disabled by default for security reasons. In Continuum 1.2, you can allow it in + $CONTINUUM_HOME/apps/continuum/WEB-INF/classes/META-INF/plexus/application.xml +

+

+ Uncomment the following line : +

+
+<allowedScheme>file</allowedScheme>
+       
+
+ +
[top]
+
+
+

Notification

+
How to configure jabber notifier for google talk?
+
+

+ Jabber Host : talk.google.com

+ Jabber Port : 5222

+ Jabber Login : your google talk login without '@gmail.com'

+ Jabber Domain Name : gmail.com

+ Is it a SSL Connection? false +

+
[top]

+
+
How do I configure Continuum to use GMail as the SMTP server?
+
+

+ In the JNDI configuration, defined in your container for Continuum webapp and in $CONTINUUM_HOME/conf/jetty.xml for standalone version, you can use this parameters: +

+
+        
+  <New id="validation_mail" class="org.mortbay.jetty.plus.naming.Resource">
+    <Arg>mail/Session</Arg>
+    <Arg>
+      <New class="org.mortbay.naming.factories.MailSessionReference">
+        <Set name="user">username@gmail.com</Set>
+        <Set name="password">password</Set>
+        <Set name="properties">
+          <New class="java.util.Properties">
+            <Put name="mail.smtp.host">smtp.gmail.com</Put>
+            <Put name="mail.smtp.port">587</Put>
+            <Put name="mail.smtp.auth">true</Put>
+            <Put name="mail.smtp.starttls.enable">true</Put>
+          </New>
+        </Set>
+      </New>
+    </Arg>
+  </New>
+        
+       
+
+ +
[top]
+
+
+

General

+
Why does Continuum build my project group in a different order than the Maven 2 command line?
+
Continuum uses alphabetical order and then considers dependencies, while Maven starts with the order of the + modules in the pom before considering dependencies.
[top]

+
+
Why Maven doesn't detect my failed builds?
+
+

+ mvn.bat distributed with Maven 2.0.7 doesn't set correctly the exit code. You can use Maven 2.0.8 to fix it or directly a fixed mvn.bat file. + The fixed version is available here. +

+
[top]

+
+
How does Continuum detect a successful build with ANT?
+
+

+ Continuum uses the command line return code for detecting a successful or failed execution. +

+

+ If you use ant, you need to add the following lines at the end of ant.bat : +

+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ANT_ERROR%
+
+exit /B %ANT_ERROR%
+       
+
+ +

+ If your bat file contains an exit /B at the end, this line must be inserted before it. +

+

+ The code above is for ANT 1.7, you can download fixed scripts for older ANT here. +

+
[top]

+
+
How does Continuum detect a successful build with a SHELL script?
+
+

+ Continuum uses the command line return code for detecting a successful or failed execution. +

+

+ You need to add the following lines at the end of script : +

+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+       
+
+ +

+ If your bat file contains an exit /B at the end, this line must be inserted before it. +

+
[top]

+
+
How can I run Continuum on a different port? I already have application X running on port 8000/8080.
+
+

+ Port 8080 is used by the instance of Jetty that supplies the web interface for Continuum. +

+

+ If you have another application already running on port 8080, you will get an exception when you start Continuum. + If you want to change the port that Continuum uses you should edit the file conf/jetty.xml. + Find the following section in that file: +

+
+
+  ...
+  <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
+  ...
+
+       
+
+ +

+ Change the appropriate <jetty.port> element to the port number you want for jetty. + You need to restart Continuum for the changes to take effect. +

+
[top]

+
+
Can I run multiple Continuum instances on one server?
+
+

+ Yes, just change the port as described in the above question. +

+

+ IIRC, Continuum won't respect a change to the working directory for existing projects, it will still check them out in the old location. + Until/unless this is fixed, be sure to make configuration changes before adding any projects, or delete them and re-add. +

+
[top]

+
+
What are some alternatives to Continuum?
+
+

+

+

+
[top]
+
+
+

Misc

+
The embedded java CVS client doesn't work for me, what is the workaround?
+
+

+ If you have a native CVS client installed, you can use it instead of the embedded java CVS client. You should add the following property in your startup script: +

+
+-Dmaven.scm.provider.cvs.implementation=cvs_native
+       
+
+ +
[top]

+
+
I'm running on Windows, and Continuum can't log in to my CVS repository! What's going on?
+
+

+ You're probably running the CVSNT client, or another application based on it, like TortoiseCVS. CVSNT stores passwords in the registry, + rather than the ~/.cvspass file. You'll need to issue the following command manually (but only once), with the appropriate information filled in: +

+
+cvs -d :pserver:account@cvsserver:2401:/rootfolder login
+       
+
+ +

+ Also, note that the login will only be saved for the particular user who typed it. If you're running Continuum as a service, double-check the user + it is running as, and make sure that you run cvs login as that user. +

+
[top]

+
+
Why does Continuum builds keep failing with password is required even if I'm using anonymous or no password in CVS?
+
+

+ If you keep getting this build error on your projects: +

+
+Exception:
+Cannot checkout sources.
+Exception while executing SCM command.
+password is required
+       
+
+ +

+ Modify the SCM URL of your Continuum Project from something like this: +

+
+scm:cvs:pserver:username@servername:path_to_repository:module_name
+       
+
+ +

+ to something like this: +

+
+scm:cvs:pserver:username:@servername:path_to_repository:module_name
+       
+
+ +

+ Please note the : before @servername. Save changes and try to build again, this time checkout should succeed. +

+

+ You can learn more about SCM URLs here. +

+
[top]

+
+
How can I build the entire project recursively from the parent?
+
+

+ If you want to build recursively from the parent, you have to remove the --non-recursive or -N argument under the + "Build Definitions" section of your parent project. Or use the checkbox "For multi modules project, load only root as recursive build" when adding a m2 project. +

+

+ Ensure that your entire project can be checked out using the SCM URL in your parent project. +

+

+ For CVS users who have each child project in a separate module, you have several options: +

+ +

  • Refactor the CVS directory structure to a more standard one (i.e. a module with the parent POM at the base and child projects as subdirectories)
  • +
  • Keep the structure and create a new module that contains a parent POM and a list of symbolic links to your actual CVS modules
  • + +

    + These options ensure that your child projects will not be checked out into separate numbered working directories. Instead, they will be checked out + correctly under a single working directory. +

    +
    [top]

    +
    +
    How can I build projects with a scm post-commit hook?
    +
    +

    + If your SCM support hook scripts, you'll need to write an xml-rpc client for Continuum and call it in your post-commit script. +

    +
    [top]
    +
    +
    + +
    +
    +
    +
    +
    + + + Added: continuum/site-publish/features.html URL: http://svn.apache.org/viewvc/continuum/site-publish/features.html?rev=1414544&view=auto ============================================================================== --- continuum/site-publish/features.html (added) +++ continuum/site-publish/features.html Wed Nov 28 06:41:18 2012 @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + Continuum - Continuum Features + + + + + + + + + + + + +
    + +
    +
    +
    +

    Continuum Features

    +

    Continuum offers the following features:

    +
    1. Easy installation : Download the standalone application and run it or deploy the Continuum WAR in your servlet container. Read more
    2. +
    3. Easy Configuration : Project's builds are auto-configured but they can be configured easily with the web interface
    4. +
    5. SCM support : CVS, Subversion, Clearcase, Perforce, Starteam, Visual Source Safe, CM Synergy, Bazaar, Mercurial are supported
    6. +
    7. Change set support : For each build result, Continuum print all SCM changes (commit authors, commit logs, modified files)
    8. +
    9. Build notification : Mail, Jabber and Google Talk, MSN, IRC, report deployment with wagon
    10. +
    11. Build tool support : Maven 1 and 2, ANT, shell scripts
    12. +
    13. External Access : External tools can interact with Continuum with XMLRPC API. Read more
    14. +
    15. Build type : Manual, scheduled and push (with xmlrpc) build technique are supported
    16. +
    17. Build template : Users can define default build templates to use by project type
    18. +
    19. Build queue : Users can view all projects in the queue and interrupt some builds
    20. +
    21. Distributed Builds : Projects can be distributed and built in multiple build agents
    22. +
    23. Parallel Builds : Projects can be built simultaneously or concurrently locally using multiple build queues.
    24. +
    +
    + +
    +
    +
    +
    +
    + + +