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

GitLab页面可以用于mkdocs项目上的审查应用程序吗?,gitlab,mkdocs,gitlab-pages,Gitlab,Mkdocs,Gitlab Pages,by to a表明,通过给可浏览的工件一个公共URL,可以将GitLab repo中的每个活动分支部署到动态环境中 通过一个项目来尝试,我发现了两个问题 首先,如果GitLab repo位于一个组或子组中,.GitLab ci.yml文件中的URL需要类似以下内容: 环境: 名称:review/$CI\u COMMIT\u REF\u name url:“$CI\u PAGES\u url/-/jobs/$CI\u JOB\u ID/artifacts/public/index.html” 自动

by to a表明,通过给可浏览的工件一个公共URL,可以将GitLab repo中的每个活动分支部署到动态环境中

通过一个项目来尝试,我发现了两个问题

首先,如果GitLab repo位于一个组或子组中,
.GitLab ci.yml
文件中的URL需要类似以下内容:

环境:
名称:review/$CI\u COMMIT\u REF\u name
url:“$CI\u PAGES\u url/-/jobs/$CI\u JOB\u ID/artifacts/public/index.html”
自动停机时间:1周
变量:
PUBLIC\u URL:“$CI\u PAGES\u URL/-/jobs/$CI\u JOB\u ID/artifacts/PUBLIC/”
其次,网站内的相关链接不能正常工作,导致大量404错误,以及样式文件等内容的丢失。可能上面的url不正确,或者
mkdocs.yml
中的
site\u url
需要更改为:

site\u url:!!python/object/apply:os.getenv[“CI_环境_URL”]
然而,这两种方法对我都不起作用

一个最小的MR和一个非常小的部署和审查应用程序可以


有人有mkdocs review应用程序的工作方法吗?

您可以在管道中的
构建
步骤的»浏览«按钮中看到所需的URL

这行吗

开发:
人工产品:
路径:
-公开的
环境:
名称:开发
url:“https://$CI_PROJECT_NAMESPACE.gitlab.io/-/snim2测试子组/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public/index.html”
脚本:|
#随便
阶段:部署
变量:
PUBLIC\u URL:“/-/snim2测试子组/$CI\u项目名称/-/jobs/$CI\u作业ID/artifacts/PUBLIC”
您还需要将mkdocs.yml更改为“实际”,并确保在生成绝对值的任何地方都使用它:

site\u url:!!python/object/apply:os.getenv[“PUBLIC_URL”]
使用\u目录\u URL:false
…

好的,我已经试过了,结果是
index.html
上的404。我还尝试使用
$CI_PAGES_URL
,正如您所看到的,404和相关链接也存在问题。
mkdocs.yml
也在考虑是否有必要?并手动浏览工件,这是我们需要的URL:
https://snim2-test-group.gitlab.io/-/snim2-test-subgroup/review-app-tester/-/jobs/463630423/artifacts/public/index.html
但这是
$CI\u项目\u命名空间
snim2测试组/snim2测试子组
,这是
$CI\u页面\u URL
https://snim2-test-group.gitlab.io/snim2-test-subgroup/review-app-tester
。所以,我怀疑这是不可能的:(@snim2您还有为其生成的审阅应用程序URL吗?由于您更新了MR,我再也看不到它了,但是内部链接和CSS似乎对其有效,并且此URL应该是运行时的审阅应用程序URL。@snim2啊,我在您的
CI_项目名称空间中看到它确实同时包含组和子组-我不是awa在这种情况下,我的建议是简单地对子组进行硬编码,我已经更新了我的答案。缺点是,在不同子组的项目中使用
.gitlab ci.yml
时,您需要稍微调整它。