HDDS-4398. Add github action to refresh rendered branch.
diff --git a/.github/workflows/regenerate.yml b/.github/workflows/regenerate.yml
new file mode 100644
index 0000000..0eacb63
--- /dev/null
+++ b/.github/workflows/regenerate.yml
@@ -0,0 +1,48 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+name: build-branch
+on:
+  push:
+    branches:
+      - master
+jobs:
+  build:
+    name: regenerate
+    runs-on: ubuntu-18.04
+    steps:
+      - name: Checkout branch with source
+        uses: actions/checkout@v2
+      - name: Checkout branch with rendered version
+        uses: actions/checkout@v2
+        with:
+          path: public
+          ref: asf-site
+      - name: Install hugo
+        run: |
+            mkdir hugo
+            cd hugo
+            curl https://github.com/gohugoio/hugo/releases/download/v0.76.5/hugo_0.76.5_Linux-64bit.tar.gz -L -o - | tar zvxf -
+      - name: Regenerate site
+        run: ./hugo/hugo
+      - name: Commit changes
+        run: |
+            git config --global user.name 'Github Actions'
+            git config --global user.email 'noreply@github.com'
+            cd public
+            git add .
+            git commit -a -m "[auto] Apply changes from master $GITHUB_SHA" || true
+            git push
+        env:
+           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.gitignore b/.gitignore
index a48cf0d..74d73e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 public
+hugo
diff --git a/README.md b/README.md
index aca99ed..d678e28 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@
 
 To render it you need hugo static site generator (https://gohugo.io/getting-started/installing) which is available for the most popular platforms as a single binary.
 
-To render the final website use the following command:
+To check the rendered website use the following command (and check the temporary, rendered version at `./public`):
 
 ```
 hugo
@@ -32,4 +32,11 @@
 
 which starts an internal server where you can always check the final rendered version.
 
+## Update ozone.apache.org
+
+For modify the content the [Ozone site](https://ozone.apache.org) the rendered version should be committed to the [asf-site](https://github.com/apache/hadoop-site/tree/asf-site) branch.
+
+This is handled by a [Github Action](https://github.com/apache/ozone-site/blob/master/.github/workflows/regenerate.yml) which refresh the rendered branch and commit the changes: *It's enough to modify the source files on this branch, no other action is required.* Updating the Hugo source files on this branch will automatically update the site itself.
+
+Publishing the `asf-site` branch as the https://ozone.apache.org is configured by the [.asf.yaml descriptor](https://github.com/apache/ozone-site/blob/asf-site/.asf.yaml).