blob: 44c50bd7db7da5abd7ba823b06eb4ed7367310d2 [file] [log] [blame]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~ Licensed to the Apache Software Foundation (ASF) under one or more
~~ contributor license agreements. See the NOTICE file distributed with
~~ this work for additional information regarding copyright ownership.
~~ The ASF licenses this file to You under the Apache License, Version 2.0
~~ (the "License"); you may not use this file except in compliance with
~~ the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing, software
~~ distributed under the License is distributed on an "AS IS" BASIS,
~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~~ See the License for the specific language governing permissions and
~~ limitations under the License.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--------------------
Publishing this site
--------------------
How to publish the Rat website
The {{{https://creadur.apache.org}Apache Creadur}} project, the community
that develops {{{https://creadur.apache.org/rat}Apache Rat}},
hosts its website on the
{{{https://www.apache.org/dev/cms.html}ASF Content Management System}}.
{{{https://maven.apache.org}Apache Maven}} builds Rat, and generates this
subsite. Here's (one way) to work with these systems.
* Developing Content
Build and generate the site using Maven the usual way
+------------------------------------------+
mvn clean site
+------------------------------------------+
Make your changes to the <<<site.xml>>> and/or <<<.apt>>> files then launch
a server on <<<localhost:8080>>> using
+------------------------------------------+
mvn site:run
+------------------------------------------+
Review {{{http://localhost:8080}<<<localhost:8080>>>}} using a browser, and do more edits.
You'll see your changes as soon as you refresh the page.
* Committing and Reviewing Content
As soon as your changes look okay locally on <<<localhost:8080>>>, commit them.
{{{https://ci.apache.org/buildbot.html}Buildbot}} will automatically
notice the commit and create a staging site to look at
{{{https://builds.apache.org/view/A-D/view/Creadur/} https://builds.apache.org/view/A-D/view/Creadur/}}
which is always up to date (within a couple of minutes of any commit).
Need to make changes? No problem - go back and repeat the cycle as often as you like.
Happy with changes and ready to go live? Then read on...
* Publishing the Site
The publishing process updates the main site with any changes committed since the last
time the site was published.
Publishing is a multi-stage process with a mixture of automated
and manual processing. End to end, the process is slow - perhaps
taking 30 minutes but close supervision is not required.
** Deploy the Site Locally
Rat declares a local directory (<<<stage>>>) for Maven
site deployments. To avoid excessive numbers of commits, the
local directory needs to remain ignored by <<<subversion>>>.
As well as being the target for <<<mvn site-deploy>>>, this is also
the origin for publication.
Triggering the automated publication pipeline is a two phase process:
Maven needs to deploy the latest site locally and then
<<<scm-publish>>> pushes this content into version control.
If you prefer to be prompted to type your subversion passphrase, edit
<<<~/.scm/svn-settings.xml>>> to include
+------------------------------------------+
<svn-settings>
...
<useNonInteractive>false</useNonInteractive>
<useAuthCache>false</useAuthCache>
...
</svn-settings>
+------------------------------------------+
Run both steps together using
+------------------------------------------+
mvn site-deploy scm-publish:publish-scm
+------------------------------------------+
Publication is slow, and the plugin may wait silently for up to
30 minutes - so please allow the build enough time to complete.
** Automated Staging of the Site
The content committed by the Maven <<<scm-publish>>> plugin
triggers a staging build on
{{{https://ci.apache.org/}<<<https://ci.apache.org/>>>}}. To
follow its progress, open the
{{{https://ci.apache.org/builders/creadur-site-staging}creadur
site builder}}.
When this builds has completed successfully, review the content
staged on
{{{https://creadur.staging.apache.org/rat/index.html}
<<<https://creadur.staging.apache.org/rat/index.html>>>}}. If
this looks fine then publish the staged content using the
{{{https://www.apache.org/dev/cms.html}ASF Content Management System}}.
Propagating the content to {{{https://creadur.apache.org/rat}production}} may take a brief while (maybe
30 seconds) so please be patient a little longer.
* Troubleshooting
* If you have issues with 'mvn site' failing try running 'mvn clean' then 'mvn install' before going back and running 'mvn site' again.
* If you experience an Out of Memory error <<java.lang.OutOfMemoryError: Java heap space>> when running 'mvn site' try setting 'export MAVEN_OPTS=-Xmx512m'
or for Windows 'set MAVEN_OPTS=-Xmx512m' first on the command line (or in your profile) and then try 'mvn site' again.