Samza's documentation uses Jekyll to build a website out of markdown pages. Prerequisites:
- You need Ruby installed on your machine (run
ruby --version
to check) - Install Bundler by running
sudo gem install bundler
- To install Jekyll and its dependencies, change to the
docs
directory and runbundle install
To serve the website on localhost:4000:
bundle exec jekyll serve --watch --baseurl
To compile the website in the _site directory, execute:
bundle exec jekyll build
To test the site, run:
bundle exec jekyll serve --watch --baseurl
If you're working with versioned content (anything in the learn or img directories), you'll also need to run a script that generates the appropriate directories:
_docs/local-site-test.sh
The local-site-test.sh script must be run every time a change is made to versioned content locally in order to trigger a refresh with Jekyll.
Keep in mind that versioned content in older versions links to samza.apache.org, not the localhost:4000. This is because they are not updated by your branch and are using the values in SVN instead.
To add a new version, change the version number in _config.yml. All links in pages should use {{site.version}}, not hard-coded version number.
To auto-generate the latest Javadocs, run:
bin/generate-javadocs.sh
To build and publish the website to Samza's Apache SVN repository, run:
bin/publish-site.sh "updating welcome page" criccomini
This command will re-build the Javadocs and website, checkout https://svn.apache.org/repos/asf/samza/site/ locally, copy the site into the directory, and commit the changes.
Assume we want to release x.x.x and the next release is y.y.y in master, need to work on two branches: x.x.x and master.
Following can be done when updating the gradle.properties file
-
in x.x.x branch,
-
if this is a major release, modify the docs/_config.yml to make both the "version" and "latest-release" properties to x.x.x
-
remove "git checkout latest" line and the "-SNAPSHOT" version suffix in each of the tutorials
- docs/startup/hello-samza/versioned/index.md
- docs/learn/tutorials/versioned/hello-samza-high-level-code.md
- docs/learn/tutorials/versioned/hello-samza-high-level-yarn.md
- docs/learn/tutorials/versioned/hello-samza-high-level-zk.md
- docs/learn/tutorials/versioned/samza-rest-getting-started.md
-
-
in master branch,
-
if this is a major release, modify the docs/_config.yml to make the "latest-release" to x.x.x
-
if this is a major release, add the x.x.x release to Archive category in docs/_layouts/default.html and x.x.x release part in docs/archive/index.html
-
update the download page (docs/startup/download/index.md) to use x.x.x release
- Add an entry to the Sources releases and Samza Tools section to use the new x.x.x release
-
update the version number in "tar -xvf ./target/hello-samza-y.y.y-dist.tar.gz -C deploy/samza" in each of the tutorials (and search for other uses of version x.x.x which may need to be replaced with y.y.y)
- docs/startup/hello-samza/versioned/index.md
- docs/learn/tutorials/versioned/hello-samza-high-level-yarn.md
- docs/learn/tutorials/versioned/hello-samza-high-level-zk.md
- docs/learn/tutorials/versioned/samza-rest-getting-started.md
-
After apache mirrors pick up the new release,
-
in x.x.x branch, run bin/publish-site.sh "updating welcome page" criccomini
-
in master branch, run bin/publish-site.sh "updating welcome page" criccomini