GitLab 页面可以用于审核 mkdocs 项目上的应用程序吗?

sni*_*im2 5 gitlab mkdocs gitlab-pages

这个答案通过@joki前面的问题表明,它可以通过给浏览的文物公开网址部署在GitLab回购来动态环境中的每个活跃的分支。

mkdocs 材料项目尝试这个,我发现了两个问题。

首先,如果 GitLab 存储库在一个组或一个子组中,则.gitlab-ci.yml文件中的 URL需要更像这样:

    environment:
        name: review/$CI_COMMIT_REF_NAME
        url: "$CI_PAGES_URL/-/jobs/$CI_JOB_ID/artifacts/public/index.html"
        auto_stop_in: 1 week
    variables:
        PUBLIC_URL: "$CI_PAGES_URL/-/jobs/$CI_JOB_ID/artifacts/public/"
Run Code Online (Sandbox Code Playgroud)

其次,网站内的相关链接不好用,导致404错误很多,样式文件等东西丢失。也许上面的网址是不正确的,或者也许是site_urlmkdocs.yml需要改变的东西,如:

site_url: !!python/object/apply:os.getenv ["CI_ENVIRONMENT_URL"]
Run Code Online (Sandbox Code Playgroud)

然而,这些都不适合我。

可以在此处找到具有非常小的部署和审查应用程序的最小 MR 。

有没有人有 mkdocs 评论应用程序的工作配方?

jok*_*oki 4

build您可以在管道中步骤的 \xc2\xbbBrowse\xc2\xab 按钮中看到所需的 URL 。

\n\n

这有效吗?

\n\n
develop:\n    artifacts:\n        paths:\n          - public\n\n    environment:\n        name: Develop\n        url: "https://$CI_PROJECT_NAMESPACE.gitlab.io/-/snim2-test-subgroup/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public/index.html"\n\n    script: |\n        # whatever\n\n    stage: deploy\n\n    variables:\n        PUBLIC_URL: "/-/snim2-test-subgroup/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public"\n
Run Code Online (Sandbox Code Playgroud)\n\n

您还需要进行更改才能mkdocs.yml实际使用PUBLIC_URL,并确保在生成绝对内部链接的任何地方都使用它:

\n\n
site_url: !!python/object/apply:os.getenv ["PUBLIC_URL"]\nuse_directory_urls: false\n\xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n