blob: 6513b57384291897740e52f16277ebd09dc4518f [file]
= Building and publishing the website
The source code of website https://james.apache.org[james.apache.org] is located in src/homepage.
Here are the instructions how to publish new changes to the website.
1. Install Apache Maven 3.0.2+ and make its binary 'mvn' available on your PATH.
See http://maven.apache.org/download.html#Installation.
2. run "mvn clean site"
3. Test the built site in your browser from the {path}/target/site folder
4. If everything looks OK, deploy the site using "mvn clean site-deploy".
5. 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 src/homepage-docker
$ 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 src/site-docker
$ 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