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