在Gitlab CI中,所提供的token不是UUID错误。

问题描述 投票:0回答:1

我想用Python为一个flask应用做代码覆盖,并将其上传至 codecov.io 平台。我试图通过Gitlab CI直接上传,但它没有发生。它一直抛出以下错误。

HTTP 400
Provided token is not a UUID.

我创建了一个账户 codecov.io 并将其连接到我的 gitlab 帐户,并选择了一个仓库来工作。我将 token 添加为 gitlab CI 的环境变量。

enter image description here

我的CI文件是。

image: ubuntu:18.04

variables:
    CODECOV_TOKEN: $CODECOV_TOKEN

stages:
    - coverage
    - deploy

coverage:
    stage: coverage
    before_script:
        - apt-get -y update
        - apt-get -y install curl python3-pip python3.7 zip
        - python3.7 -m pip install --upgrade pip
        - python3.7 -V
        - pip3.7 install -r requirements.txt

    script:
        - coverage run -m pytest
        - coverage report -m

    after_script:
       - bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN

错误截图

enter image description here

但是,当我做 bash <(curl -s https://codecov.io/bash) -t <token> 从linux终端,成功上传。

我到底做错了什么?

python python-3.x gitlab code-coverage codecov
1个回答
1
投票

你的GitLab CICD变量的截图显示了 CODECOV_TOKEN 变量为"受保护": GitLab只向运行在受保护分支和标签上的管道输出变量。

当你的流水线运行在一个非保护分支上时。CODECOV_TOKEN 未被设置,codecov脚本就会失败。

要使该变量对所有分支上运行的管道可用,请编辑该变量并取消选中 "保护变量"。

© www.soinside.com 2019 - 2024. All rights reserved.