GitLab CI:从一个存储库部署多个reveal.js演示文稿

GitLab CI:从一个存储库部署多个reveal.js演示文稿,gitlab,gitlab-ci,reveal.js,gitlab-pages,Gitlab,Gitlab Ci,Reveal.js,Gitlab Pages,这个问题是关于如何在GitLab页面上部署来自一个存储库的多个reveal.js演示文稿 总结 我不太熟悉discover.js,不太熟悉与GitLab的集成,也不太熟悉在GitLab页面上部署演示文稿。在我的回购协议中,我将主持我的主题和演示文稿(全部在一个回购协议中)。我可以从一个分支部署一个演示文稿。下一个目标是使用GitLab页面同时主持所有/多个(公共)演示文稿 安装程序 在我的存储库中,每个演示文稿(reveal.js from)都位于一个分支中。还有一些基于主题的分支,它们只是为

这个问题是关于如何在GitLab页面上部署来自一个存储库的多个reveal.js演示文稿

总结 我不太熟悉discover.js,不太熟悉与GitLab的集成,也不太熟悉在GitLab页面上部署演示文稿。在我的回购协议中,我将主持我的主题和演示文稿(全部在一个回购协议中)。我可以从一个分支部署一个演示文稿。下一个目标是使用GitLab页面同时主持所有/多个(公共)演示文稿

安装程序
  • 在我的存储库中,每个演示文稿(reveal.js from)都位于一个分支中。还有一些基于主题的分支,它们只是为了保存记录。例如,假设有两个演示文稿,分别位于
    /2020/pres1
    /2020/pres2
    中。(设置是从中改编的)
  • 在第一个演示分支中,有一个
    .gitlab ci.yml
    文件,它正在将第一个演示部署到
    username.gitlab.io/repo name/
    中,这一切正常

    .gitlab ci.yml

  • 据我所知,在
    2020/pres2
    分支中添加第二个相同的文件(适用于
    pres2
    it),将“覆盖”部署的第一页
问题: 为了达到以下结果,必须对yml文件进行哪些更改

  • 演示文稿位于
    username.gitlab.io/repo name/year/branch
  • 在本例中,演示将在以下地点进行:
    • username.gitlab.io/repo name/2020/pres1
    • username.gitlab.io/repo name/2020/pres2

提前感谢您的建议。

通过一些尝试和错误,我提出了以下解决方案:

cache:
  paths:
    - public

pages:
  stage: deploy

  script:
  - mkdir .build
  - cp -r * .build/
  - mkdir -p public/$CI_COMMIT_BRANCH/
  - rm -r public/$CI_COMMIT_BRANCH/* # do delete possible stuff from old build
  - mv .build/* public/$CI_COMMIT_BRANCH/
  artifacts:
    name: "$CI_COMMIT_BRANCH"
    paths:
    - public
帮助开发所示的解决方案。 欢迎对该解决方案可能存在的缺陷提出意见。不确定删除了
only
语句是否有问题

cache:
  paths:
    - public

pages:
  stage: deploy

  script:
  - mkdir .build
  - cp -r * .build/
  - mkdir -p public/$CI_COMMIT_BRANCH/
  - rm -r public/$CI_COMMIT_BRANCH/* # do delete possible stuff from old build
  - mv .build/* public/$CI_COMMIT_BRANCH/
  artifacts:
    name: "$CI_COMMIT_BRANCH"
    paths:
    - public