diff --git a/cicd/Gemfile b/cicd/Gemfile
new file mode 100644
index 0000000000000000000000000000000000000000..0948693f8df8fe12d5c3b699e7e731bfdc329b17
--- /dev/null
+++ b/cicd/Gemfile
@@ -0,0 +1,2 @@
+source "https://rubygems.org"
+gem "jekyll"
diff --git a/cicd/stages/build.yml b/cicd/stages/build.yml
index d236bb84c05026b15dd9b13db9a80136dcd39a06..aa52426c7dcf09260c8e48834547fba285af716c 100644
--- a/cicd/stages/build.yml
+++ b/cicd/stages/build.yml
@@ -6,9 +6,21 @@ build-wasm:
     - linux-blade
   rules:
     - if: $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "merge_request_event"
+  cache:
+    - key: ${QDS_CI_CACHE_KEY_CCACHE}
+      paths:
+        - ${QDS_CI_CACHE_PATH_CCACHE}
   variables:
+    QDS_CI_CACHE_KEY_CCACHE: "cache-ccache-${CI_JOB_NAME}"
+    QDS_CI_CACHE_PATH_CCACHE: "${CI_PROJECT_DIR}/ccache"
     QDS_CI_BUILD_PATH: "${CI_PROJECT_DIR}/outdir/build"
     QDS_CI_JOB_TARGET_ARCH: "singlethread"
+    CCACHE_BASEDIR: ${CI_PROJECT_DIR}
+    CCACHE_DIR: ${QDS_CI_CACHE_PATH_CCACHE}
+    CCACHE_SLOPPINESS: "pch_defines,time_macros"
+    CCACHE_COMPRESS: "true"
+    CCACHE_COMPRESSLEVEL: "9"
+    CCACHE_MAXSIZE: "20G"
   artifacts:
     name: design-viewer-${CI_JOB_ID}-qt${QDS_CI_QT_VERSION}
     expose_as: "build-artifacts"
@@ -27,6 +39,7 @@ build-wasm:
       cd ..
     - echo ${DOCKER_ENV_QT_PATH_WASM_SINGLETHREAD}
     - echo ${DOCKER_ENV_QT_PATH_LINUX_GCC_64}
+    - export CMAKE_CXX_COMPILER_LAUNCHER=ccache
     - |
       cd qtquickdesigner-components
       cmake \
@@ -55,3 +68,19 @@ build-wasm:
     - cmake --build ${QDS_CI_BUILD_PATH}
     - cmake --install ${QDS_CI_BUILD_PATH}
     - echo "PREVIOUS_JOB_ID=${CI_JOB_ID}" >> build.env
+
+pages:
+  stage: build
+  image: ruby:3.2
+  needs:
+    - job: build-wasm
+      artifacts: true
+  script:
+    - cp ${CI_PROJECT_DIR}/cicd/Gemfile ${QDS_CI_ARTIFACTS_PATH}
+    - cd ${QDS_CI_ARTIFACTS_PATH}
+    - gem install bundler
+    - bundle install
+    - bundle exec jekyll build -d ${CI_PROJECT_DIR}/public
+  artifacts:
+    paths:
+      - public