From a62a97c7abcabea4509760e5af957eed66fa0755 Mon Sep 17 00:00:00 2001
From: Emil Rofors <emirof@gmail.com>
Date: Fri, 03 Nov 2023 23:40:43 +0000
Subject: [PATCH] docs: add GitLab pages CI (#549)
---
docs/hosting.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/docs/hosting.md b/docs/hosting.md
index 01d130f..a4ca1ea 100644
--- a/docs/hosting.md
+++ b/docs/hosting.md
@@ -166,3 +166,56 @@
3. Go to the [Vercel Dashboard](https://vercel.com/dashboard) and select your Quartz project.
4. Go to the Settings tab and then click Domains in the sidebar
5. Enter your subdomain into the field and press Add
+
+## GitLab Pages
+
+You can configure GitLab CI to build and deploy a Quartz 4 project.
+
+In your local Quartz, create a new file `.gitlab-ci.yaml`.
+
+```yaml title=".gitlab-ci.yaml"
+stages:
+ - build
+ - deploy
+
+variables:
+ NODE_VERSION: "18.14"
+
+build:
+ stage: build
+ rules:
+ - if: '$CI_COMMIT_REF_NAME == "v4"'
+ before_script:
+ - apt-get update -q && apt-get install -y nodejs npm
+ - npm install -g n
+ - n $NODE_VERSION
+ - hash -r
+ - npm ci
+ script:
+ - npx prettier --write .
+ - npm run check
+ - npx quartz build
+ artifacts:
+ paths:
+ - public
+ cache:
+ paths:
+ - ~/.npm/
+ key: "${CI_COMMIT_REF_SLUG}-node-${CI_COMMIT_REF_NAME}"
+ tags:
+ - docker
+
+pages:
+ stage: deploy
+ rules:
+ - if: '$CI_COMMIT_REF_NAME == "v4"'
+ script:
+ - echo "Deploying to GitLab Pages..."
+ artifacts:
+ paths:
+ - public
+```
+
+When `.gitlab-ci.yaml` is commited, GitLab will build and deploy the website as a GitLab Page. You can find the url under `Deploy` -> `Pages` in the sidebar.
+
+By default, the page is private and only visible when logged in to a GitLab account with access to the repository but can be opened in the settings under `Deploy` -> `Pages`.
--
Gitblit v1.10.0