This is the source code for the website of Apache Jena, hosted at:
This repository uses 3 branches for building the published website.
mainbranch, which contains all the sources for the website.
asf-sitebranch, which contains the generated website being used for the actual website.
javadocbranch, which has the javadoc to be published as part of the main website under
When contributing patches, please create pull requests for the
Additionally the repository also has a
asf-staging branch that can be used to preview website changes prior to publishing them to the main website. Any branch other than
main that has a
Jenkinsfile present in it will automatically be staged at https://jena.staged.apache.org, the Javadoc from the
javadoc branch is also automatically staged into this staging site.
The website uses Hugo as static website generator. See Hugo for more info and for details how to install Hugo.
To generate the static website, execute
hugo to generate and serve the website on
During development, it may be useful to run an incremental build. For this to work, execute
hugo server -D to continuously generate and serve the website on
The ASF Jenkins Jena_Site job is used for generating the website and committing the generated site to the
Separately, javadoc for a release is committed into the
javadoc branch during the release process.
gitpubsub is used to publish the site, using the content from the
Jenkinsfile was contributed in https://github.com/apache/jena-site/pull/17 (July 2020).
Steps to set up the Jenkins job:
Create a new multibranch pipeline (e.g. ‘Jena_Site’).
Branch source -> git
Set the gitbox url ->
https://gitbox.apache.org/repos/asf/jena-site.git and use the jenkins (pub key) credentials.
In the ‘Scan Multibranch Pipeline Triggers’ check the ‘Periodically if not otherwise run’ checkbox and enter a sane value (e.g. 15 minutes). This is needed because webhooks are not delivered to ci-builds (yet - 2020-07-28).
Save the job and click the ‘Scan Multibranch Pipeline Now’ button to trigger an initial scan. A first run may also happen as the SCM polls.
It is at this point that it gets the label
git-websites so the first job may have run on the wrong node.