sim*_*ond 20 gitlab gitlab-ci python-3.8 cicd
我正在 gitlab-ci.yml 文件中运行以下代码部分:
script:
- pip install --upgrade pip
- cd ./TestAutomation
- pip install -r ./requirements.txt
Run Code Online (Sandbox Code Playgroud)
以下是键和值。所以我必须将任何值传递到管道,并将 key 作为变量 ENV : dev
我通过扩展将上述三个变量添加到了 GitLab CI CD 变量部分。只是添加了一个值和键
我还发现我们可以在 .yml 文件本身中添加变量,如下所示。我不知道如何为一个键添加多个值
variables:
TEST:
value: "some value" # this would be the default value
description: "This variable makes cakes delicious"
Run Code Online (Sandbox Code Playgroud)
当我运行管道时,我收到错误,因为看起来这些变量和值没有正确注入。
更多细节:
我在运行管道时遇到同样的错误。因此,我怀疑当我通过管道运行时,类别变量没有正确注入
如果需要,我会将其显示在共享屏幕上
我观察到的是——与我作为参数或变量传递的键关联的值,这些值不会被注入或替换,而不是键。所以理想情况下 ${Category} 应该替换为 value Smoke 等
Kee*_*asa 26
当 Gitlab CI CD 变量没有作为环境变量注入到您的管道中时,请按照以下步骤进行验证。
检查变量是否已定义。您至少需要Maintainer为您的用户设置角色。转到设置 --> CI/CD --> 变量。您可以查看所有项目变量和组变量(继承)。
接下来,检查这些变量是否被定义为Protected变量。如果它们被标记为受保护,则它们仅暴露于受保护的分支或受保护的标签。如果您当前的分支不是protected branch. 如果没有,您可以随时将当前分支设为受保护分支。

接下来,检查您的代码是否正确访问环境变量。根据您的脚本语言,只需像访问常规环境变量一样进行访问即可。
您实际上不需要在.gitlab-ci.yaml文件中定义这些变量。(尽管他们的文档是这么说的)
希望这可以帮助。
Dam*_*nga 17
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
Run Code Online (Sandbox Code Playgroud)
正如 @Keet Sugathadasa 提到的,触发 CI 的分支必须受到保护;这是我的情况,所以我必须通过去保护它Settings > Repository > Protected branch,然后从那里保护分支
| 归档时间: |
|
| 查看次数: |
35024 次 |
| 最近记录: |