gpt4 book ai didi

python - 将azure secret 变量传递给管道中的pytest?

转载 作者:行者123 更新时间:2023-12-03 06:29:27 24 4
gpt4 key购买 nike

我们正在 Azure Pipeline 中运行用 Python 编写的集成测试。这些测试访问数据库,访问数据库的凭据存储在 Azure 中的变量组中,包括 secret 变量。这是 yaml 文件的一部分,集成测试从这里开始:

jobs:
- job: IntegrationTests
variables:
- group: <some_variable_group>

- script: |
pdm run pytest \
--variables "$VARIABLE_FILE" \
--test-run-title="$TEST_TITLE" \
--napoleon-docstrings \
--doctest-modules \
--color=yes \
--junitxml=junit/test-results.xml \
integration

env:
DB_USER: $(SMDB_USER)
DB_PASSWORD: $(SMDB_PASSWORD)
DB_HOST: $(SMDB_HOST)
DB_DATABASE: $(SMDB_DATABASE)

问题是,我们无法读取 SMDB_PASSWORD 的值,因为它是一个 secret 变量。为了使用 secret 变量,建议在 PythonScript 任务中使用参数(如下所示: Passing arguments to python script in Azure Devops )但我不知道如何修改此脚本以定义 PythonScript,因为它包括使用 pdm。

最佳答案

实际上根据文档,它们应该作为环境变量提供: https://learn.microsoft.com/en-us/azure/devops/pipelines/process/set-secret-variables?view=azure-devops&tabs=yaml%2Cbash#use-a-secret-variable-in-the-ui

environ.get('DB_USER')

编辑:重现:

python -c "import os, base64; print(base64.b64encode(bytes(os.environ.get('TEST_PLAIN'), 'ascii')))"

关于python - 将azure secret 变量传递给管道中的pytest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75351387/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com