1

我有一个私人仓库,我想为其设置一个暂存区域并在推送到dev分支时部署它。

这是我的.gitlab-ci.yml现在

image: alpine:latest

pages:
  stage: deploy
  script:
  - echo 'Nothing to do...'
  artifacts:
    paths:
    - public
  only:
  - master

review:
  stage: deploy
  script: |
    # Nothing
  artifacts:
    paths:
    - public
  environment:
    name: Review
    url: "https://$CI_PROJECT_NAMESPACE.gitlab.io/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public/index.html"
  variables:
    PUBLIC_URL: "/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public"

登录 GitLab 后,我可以在https://$CI_PROJECT_NAMESPACE.gitlab.io/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public/index.html. 但是注销/外部用户看不到这个 URl。他们被重定向到登录页面。

文档似乎表明这是因为项目设置为私有:对于私有项目,所有项目成员(访客或更高级别)

有没有办法在私人 GitLab Pages 存储库上设置可公开访问的暂存区?还是我必须公开回购?

4

1 回答 1

2

是的,您可以将“页面”功能设置为公开,而存储库本身保持私有。为此,请转到Settings > General,然后设置Project visibility为私人,然后设置Pages为所有人。

于 2021-10-20T02:55:35.490 回答