Uppsetning MkDocs á GitLab pages
Gitlab býður upp á hýsingu á kyrrum síðum í gegnum CI/CD kerfið þeirra. Í grófum dráttum er þetta ferlið:
- Kóði er skrifaður í git-lind og ýtt upp til gitlab
- GitLab hendir upp docker gámi og keyrir vefsíðuna
Gert er ráð fyrir að GitLab aðgangur sé til staðar og tómt verkefni hafi verið stofnað, köllum það pages.
Klónum lindina og setjum upp python umhverfi
Git lind klónuð:
$ git clone git@gitlab.com:$user/pages
Gerum python umhverfi:
Eins og python er ĺíkt þurfum við að setja upp skrilljón pakka til að þetta virki:
Þar sem req.txt inniheldur
Jinja2
joblib
jsmin
livereload
lunr
Markdown
MarkupSafe
mkdocs
mkdocs-awesome-pages-plugin
mkdocs-git-revision-date-localized-plugin
mkdocs-material
mkdocs-material-extensions
mkdocs-minify-plugin
nltk
Pygments
pymdown-extensions
pytz
PyYAML
regex
six
smmap
tornado
tqdm
Eftir að þetta hefur vonandi keyrt án vandkvæða getum við stofnað verkefnið:
Við ættum þá að hafa möppu docs og stillingaskrá mkdocs.yaml. Ef við þurfum að keyra fleiri MkDocs skipanir beint af þjóninum eftir þetta þarf að virkja python umhverfið fyrst.
CI/CD Sett upp
Byrjum á því að gera skrá sem lýsir starfsemi pípunnar, hún þarf að vera í rót lindarinnar og heita .gitlab_ci.yml. Hún inniheldur:
# Skilgreiningin á stiginu
stages:
- deploy
# Þetta þarf að heita pages til að virka sem síða
pages:
stage: deploy
image:
# Sækjum tilbúna docker mynd, þetta er sótt frá Docker Hub
name: squidfunk/mkdocs-material
# Myndin er smá og hefur enga skel, setjum entrypoint="" til að reyna ekki að búa til óþarfa skel
entrypoint:
- ""
# Skipunin sem býr til síðuna, setjum allt í möppu sem heitir public, hana þarf að búa til,
# en skrárnar fyrir síðuna þurfa að vera í möppu í rót lindarinnar sem heitir public.
script:
- mkdocs build -d public
artifacts:
# Tilgreinum möppuna sem við erum að vinna með
paths:
- public
# Keyrum bara þegar main er uppfært
only:
- main
# Snýr að 'runnerum'
tags:
- docs
Nú þurfum við Runner, en það er það sem sér um CI/CD pípuna. Við keyrum það með Docker, byrjum á að skilgreina disk fyrir stilliskrárnar:
Hendum í Docker gám fyrir runner-inn:
$ docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
Við þurfum að skrá runner-inn okkar og tengja hann við verkefnið okkar, tókann má fá undir Lind -> Settings -> CI/CD -> Runners
$ docker run --rm -it -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest register
Nú koma nokkrar spurningar, látum URL-ið vera https://gitlab.com/ og Registration Token er tókinn úr stillingunum, setjið inn góða lýsingu og verið viss um að setja docs sem merkingu (e. tag). Executor skal vera docker. Default Docker Image má vera hvað sem er, ég setti ubuntu:22.04.
Byrjum að skrifa leiðbeiningar!
Breytum fyrst þemanu með því að hafa eftirfarandi til staðar í mkdocs.yaml:
Fyrir hverja síðu gerum við svo síða1.md undir docs möppunni. Staðfestum og hlöðum upp:
Við seinustu skipunina fer pípan í gang, það má fylgjast með henni undir CI/CD -> Pipelines í verkefninu. Eftir þá keyrslu ætti síðan að vera aðgengileg undir https://{notandi}.gitlab.io/{lind}/gitlab_pages.