首页 文章

gitlab runner请求的URL返回错误:403

提问于
浏览
7

我目前正在使用gitlab.com(非本地安装)和他们的多用户进行CI集成 . 这对我的一个项目非常有效,但对另一个项目失败了 .

我在MSBuild版本14.0.23107.0上使用2012R2作为主机 . 我知道下面的错误显示403这是一个拒绝访问的消息 . 我的问题是找到要更改的权限设置 .

错误信息:

使用gitlab-ci-multi-runner 1.5.3运行(fb49c47)使用Shell Actuator ...在WIN-E0ORPCQUFHS上运行...获取更改... HEAD现在位于6a70d96更新运行程序文件远程:访问被拒绝致命:无法访问'https:// gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.com/##REDACTED##/ADInactiveObjectCleanup.git/':请求的URL返回错误:403将60ea1410签出为 生产环境 ...致命:参考是不是树:60ea1410dd7586f6ed9535d058f07c5bea2ba9c7错误:构建失败:退出状态128

gitlab-ci.yml文件:

variables:
  Solution: ADInactiveObjectCleanup.sln

before_script:
  #- "echo off"
  #- 'call "%VS120COMNTOOLS%\vsvars32.bat"'
  ## output environment variables (usefull for debugging, propably not what you want to do if your ci server is public)
  #- echo.
  #- set
  #- echo.

stages:
  - build
  #- test
  #- deploy

build:
  stage: build
  script:
  - echo building...
  - '"%ProgramFiles(x86)%\MSBuild\14.0\Bin\msbuild.exe" "%Solution%" /p:Configuration=Release'
  except:
  #- tags

2 回答

  • 0

    要解决此问题,我必须将自己添加为项目成员 . 这是一个私人回购 . 我不确定这是否会导致跑步者因不同的权限设置而失败,但这很有可能 .

    这个帮助article在gitlab上概述了这个问题 .

    使用新的权限模型,有时您的构建将失败 . 这很可能是因为您的项目试图访问其他项目的源,并且您没有适当的权限 . 在构建日志中查找有关403或禁止访问消息的信息 . 作为管理员,您可以验证用户是他们尝试访问的组或项目的成员,并且您可以模拟用户重试失败的构建以验证一切正确 .

    从项目页面单击设置齿轮,然后单击成员 . 将自己(或用户生成构建)添加为项目的成员 . 我使用"Master"角色,但基于this document,你可以使用"Reporter"角色作为最低要求 . 记者角色是仍然可以访问"Pull project code."的最小权限 . 这删除了我的403错误并允许我继续 .

  • 15

    这看起来像你需要添加一个 cd 命令来打印你的before_script当前目录 . 然后去修复权限以访问该文件夹的父级 . 如果您将gitlab runner安装到 c:\glrunner ,则可能需要修复 c:\glrunner\builds 权限 .

    第二个问题是你可能需要通过删除builds文件夹来强制新的git clone .

    您可能希望将gitlab runner服务的登录凭据更改为 gitlabuser ,这应该是非管理员帐户,其默认值可能比您的gitlab运行器正在使用的LOCAL SYSTEM帐户少 .

    如果您想知道谁登录,也可以将 set 添加到您的before_script中,然后您将获得环境变量转储 . 从中您可以看到登录的帐户,USERPROFILE的位置和其他内容 .

相关问题