IntroductionCommons sites use a solution based on both BuildBot (for the main site) and svnpubsub publication based on the maven-scm-publish-plugin for the component sites. Main site
The main site content is now located in svn: https://svn.apache.org/repos/asf/commons/cms-site/trunk/ . mvn clean site After you commit, buildbot handles the site generation, with the output published to the staging site. This is then automatically published to the production site. If you wish to stage the changes without publication to production site, update the site locally using bash commons-site-build.sh svn commit target/site -m 'Update the staging site prior to deployment' ComponentsComponents do not use Buildbot. Instead component sites need to be built locally and checked in to SVN. The generated site is checked in to:
Components must use parent 28 (sandbox parent: 10) or later. The maven-scm-publish plugin can be used to automatically upload the generated site. Maven will create a working copy of the site svn directory ( In order to publish the site of a single module project use mvn clean site-deploy and for a multi modules project use mvn clean site site:stage scm-publish:publish-scm The site can also be built locally and checked into the appropriate location manually. ConfigurationDefault deployment targets are:
The maven-scm-publish-plugin will delete any content not generated by the Maven site plugin. To avoid deletion of previous apis javadocs or other static content, the pom needs some configuration: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-publish-plugin</artifactId> <configuration> <ignorePathsToDelete> <ignorePathToDelete>javadocs</ignorePathToDelete> <!-- other paths to ignore --> </ignorePathsToDelete> </configuration> </plugin> All declared paths won't be deleted from svn but rather have to be imported manually. |