在 gitlab 页面上使用 mike 自动部署 mkdocs 并进行版本控制

Joy*_*ama 3 doc gitlab-ci mkdocs gitlab-pages

每次我在 gitlab 上提交标签时,我愿意部署一个新版本的文档。我使用 mike 进行 mkdocs 版本控制。

我希望版本控制直接在远程存储库上处理,而不是在本地处理。

在本地,我执行更改,但每次发送新标签时,我希望在我的 gitlab 页面上获取新添加的文档版本

Joy*_*ama 5

最后我在这里找到了解决方案。

这是我的改编:

pages:
  stage: deploy
  variables:
    PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
    PAGES_BRANCH: gl-pages
    HTTPS_REMOTE: https://gitlab-ci-token:${ACCESS_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git
  before_script:
    - pip install mkdocs mike
    - git config user.name $GITLAB_USER_NAME
    - git config user.email $GITLAB_USER_EMAIL
    - git fetch origin $PAGES_BRANCH && git checkout -b $PAGES_BRANCH origin/$PAGES_BRANCH || echo "Pages branch not deployed yet."
    - git checkout $CI_COMMIT_SHA
  script:
   - mike deploy --rebase --prefix public -r $HTTPS_REMOTE -p -b $PAGES_BRANCH -u $CI_COMMIT_TAG latest
   - mike set-default --rebase --prefix public -r $HTTPS_REMOTE -p -b $PAGES_BRANCH latest
   - git checkout $PAGES_BRANCH -- public/
  artifacts:
    paths:
     - public/
  only:
    - tags
Run Code Online (Sandbox Code Playgroud)