GitLabへのMkdocs簡易設定
- mkdocsで生成したwebドキュメントを、Pages機能を使わずに、ダイレクトにnginxに配置する
A1. mkdocksインストール
# apt install python3
# apt install python3-pip
# pip3 install mkdocs
# pip3 install mkdocs-material
A2. GitLabとnginxの設定
# vi /etc/gitlab/gitlab.rb
# vi /etc/nginx/conf.d/blog.morifuku.net.conf
# gitlab-ctl reconfigure
# gitlab-ctl restart
- gitlab.rbは以下の設定を行う。コメントアウトを外して有効化して、変更する。
nginx['custom_nginx_config'] = "include /etc/nginx/conf.d/blog.morifuku.net.conf;"
- blog.morifuku.net.confは以下の設定をおこなう。SSLの証明書も設定しておく。
server {
listen 443 ssl;
server_name blog.morifuku.net;
ssl_certificate /etc/letsencrypt/archive/blog.morifuku.net/fullchain1.pem;
ssl_certificate_key /etc/letsencrypt/archive/blog.morifuku.net/privkey1.pem;
ssl_protocols TLSv1.2 TLSv1.3;
root /var/www/blog.morifuku.net;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
A3 パイプラインの設定
stages:
- build
build-job:
stage: build
rules:
- if: $CI_COMMIT_BRANCH == "main"
when: always
- when: never
script:
- mkdocs build
- cp -r ./site/* /var/www/blog.morifuku.net/
- パイプライン処理で
/var/www
下にwebコンテンツをダイレクトに配置する
- パイプライン処理は
gitlab-runner
が実行するので、 gitlab-runner
が配置できるようにパーミッションを設定しておく。