4

我在 gitlab-ci.yml 文件中运行以下代码部分:

  script:
- pip install --upgrade pip
- cd ./TestAutomation
- pip install -r ./requirements.txt

下面是键和值。所以我必须通过键作为变量 ENV 将任何值传递给管道:dev

我通过扩展在 GitLab CI CD 变量部分中添加了所有上述三个变量。只是添加了一个值和键

我还发现我们可以在 .yml 文件本身中添加变量,如下所示。我不确定我们如何为一个键添加多个值

variables:
 TEST:
   value: "some value" # this would be the default value
   description: "This variable makes cakes delicious"

当我运行管道时,我收到错误,因为看起来这些变量和值没有正确注入。

更多细节:

我在运行管道时遇到了同样的错误。因此,当我通过管道运行时,我的怀疑是没有正确注入 Category 变量

如果需要,我将在共享屏幕上显示

请找到我的 gitlab-ci.yml 文件的图片片段 - [![在此处输入图片描述][1]][1]

我在运行管道时传递了以下参数 - [![在此处输入图像描述][2]][2]

我观察到的是——与我作为参数或变量传递的键相关的值,这些值不是注入或替换的,而是键。所以理想情况下 ${Category} 应该替换为 value smoke 等

4

1 回答 1

4

GitLab UI 中设置的变量不会传递给服务容器。要设置它们,请将它们分配给 UI 中的变量,然后在 .gitlab-ci.yml 中重新分配它们:

stages:
  - Test
# Added this to your yml file
variables:
  ENV: $ENV
  BROWSER: $BROWSER
  Category: $Category

ui_tests:
  stage: Test
  image: 
    name: joyzourky/python-chromedriver:3.8
    entrypoint: [""]
  tags:
  - micro
  only:
  - develop
  when: manual
  script:
    - pip install --upgrade pip 
    - cd ./src/Tests/UIAutomation
    - pip install -r ./requirements.txt
    - pytest -s -v --env=${ENV} --browser=${BROWSER} --alluredir=./reports ./tests -m ${Category}
  artifacts:
    when: always
    path:
    - ./src/Tests/UIAutomation/reports/
    - ./src/Tests/UIAutomation/logs/
    expire_in: 1 day

请参阅附件,它可以解决任何问题。 在此处输入图像描述

于 2021-11-23T08:19:18.070 回答