Building and publishing the website
The source code of website james.apache.org is located in src/homepage. Here are the instructions how to publish new changes to the website.
-
Install Apache Maven 3.0.2+ and make its binary 'mvn' available on your PATH. See http://maven.apache.org/download.html#Installation.
-
run "mvn clean site"
-
Test the built site in your browser from the {path}/target/site folder
-
If everything looks OK, deploy the site using "mvn clean site-deploy".
-
Wait for the changes to replicate to the Apache web server or setup 140.211.11.10:80 as a proxy to review the changes (described here: http://www.apache.org/dev/project-site.html)
To deploy the technical reports use the "-Psite-reports" profile.
For wagon-ssh-external configuration see http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html
You can alternatively use a docker container to build the website :
You need to build the homepage by:
$ docker build -t james/homepage dockerfiles/site/homepage $ docker run -v $PWD:/origin -v $PWD/site:/destination james/homepage master
In order to test the homepage, you can use this command:
$ docker run --rm -v $PWD/site:/srv/jekyll -p 4000:4000 -it jekyll/minimal:3.8.3 jekyll serve
the site will be available at http://localhost:4000/
Then you build the other pages by:
$ docker build -t james/site dockerfiles/site/website $ docker run -v $PWD/.m2:/root/.m2 -v $PWD:/origin -v $PWD/site:/destination james/site master
If you need to update the current site, checkout the branch asf-site from Apache git:
$ git clone https://git-wip-us.apache.org/repos/asf/james-site.git $ cd james-site $ git checkout origin/asf-site -b asf-site
And replace in the previous commands $PWD/site
by <james-site-clone-directory>/content
, for example:
$ docker run -v $PWD:/origin -v $PWD/../james-site/content:/destination james/homepage master $ docker run -v $PWD/.m2:/root/.m2 -v $PWD/../james-site/content:/origin -v $PWD/site:/destination james/site master
Then just push the new site:
$ cd ../james-site $ git push origin asf-site