Skip to content

GitLabでCI/CDし、Material for MkDocsでビルドしたコンテンツをPagesで公開する

GitLabではCI/CDした際、GitLab Pages機能でコンテンツをWebサイトとして公開することが出来ます。今回はCI/CDの際、Material for MkDocsでコンテンツをビルドし、その結果をGitLab Pagesで公開する際のプロジェクトディレクトリ/ファイル構成例をメモしておきます。

検証環境

対象 バージョン
GitLab 18.2.1-ee

ディレクトリ/ファイル構成

ディレクトリ構成は以下の通りです。MkDocsをインストールしたらmkdocs new mysiteしてmysiteディレクトリを作成します。

├── mysite
│   ├── docs
│   │   └── index.md
│   └── mkdocs.yml
├── .gitlab-ci.yml
├── README.md
└── requirements.txt

mysite/mkdocs.yml

テーマにMaterial for MkDocsを指定します。

site_name: My Docs
theme:
  name: material

.gitlab-ci.yml

以下のDockerコンテナイメージを使ってビルドします。

このコンテナイメージに含まれる以下のライブラリのみ、利用可能です。

image: sig9/mkdocs-material:9.6.16

pages:
  stage: deploy
  script:
    - mkdir public/
    - cd mysite/
    - mkdocs build
    - mv ./site/* ../public/
  artifacts:
    paths:
      - public
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

requirements.txt

mkdocs
mkdocs-material
mkdocs-material-extensions
pymdown-extensions