Apache Jena website
This is the source code for the website of Apache Jena, hosted at:
https://jena.apache.org/
Repository structure
This repository uses 3 branches for building the published website.
- The
main
branch, which contains all the sources for the website. - The
asf-site
branch, which contains the generated website being used for the actual website. - The
javadoc
branch, which has the javadoc to be published as part of the main website underdocumentation/javadoc/
When contributing patches, please create pull requests for the main
branch.
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.
Content Management System
The website uses Hugo as static website generator. See Hugo for more info and for details how to install Hugo.
Generate the website
To generate the static website, execute hugo
to generate and serve the website on localhost:1313
.
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
localhost:1313
.
Building and publishing the website
The ASF Jenkins Jena_Site job is
used for generating the website and committing the generated site to the
asf-site
branch.
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 asf-site
and javadoc
branches.
ASF Jenkins job
The Jenkinsfile
was contributed in apache#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.