You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab非主分支CI作业中组访问令牌不可见问题

问题

我在自托管的GitLab CE实例上,用**组访问令牌(GAT)**从一个私有仓库下载制品到另一个仓库,并在构建步骤中使用。两个仓库同属一个组,我只是普通用户(非管理员)。

运行器配置为Windows Server 2016机器上的shell执行器,使用PowerShell(因此代码中采用"$($VARIABLE)"语法),无虚拟机、WSL等环境。

操作流程

  1. CI执行时,通过前置脚本将名为CI_GROUP_TOKEN的GAT写入token.txt:

    .setup_token:
      before_script:
        # 因为私有仓库间使用CI_JOB_TOKEN失败(原因未知),改用组访问令牌CI_GROUP_TOKEN
        - git config --system core.longpaths true
        - echo "CI_GROUP_TOKEN = $($CI_GROUP_TOKEN)"
        - echo $CI_GROUP_TOKEN > token.txt
    

    该令牌拥有完整api权限,角色为Developer(后续尝试提升为Maintainer,结果无变化)。

  2. 通过CMake的file(STRINGS)函数读取令牌:

    file(
        STRINGS
        "${CMAKE_SOURCE_DIR}/token.txt"
        TOKEN
        LIMIT_COUNT 1
    )
    
  3. 令牌用于CMake的FetchContent_MakeAvailable()调用中的curl请求,请求头已正确设置为PRIVATE-TOKEN: <token.txt中的值>。

异常现象

  • main分支(默认受保护分支)的作业执行正常
  • debug分支的作业执行失败

排查情况

  • 生成的REST API请求URL,在本地用同一令牌、个人访问令牌或已登录的Web浏览器均可正常访问
  • 提升令牌权限至Maintainer,问题依旧
  • 未在GitLab官方文档中找到相关解决方案

内容的提问来源于stack exchange,提问作者rbaleksandar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 10:52:07