在CircleCI中使用环境变量

2024-10-03 15:28:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用CircleCI运行自动测试。我有一个配置yml文件tat包含的秘密,我不想上传到我的回购,因为明显的原因。在

因此,我在“项目设置”部分创建了一组环境变量:

VR_API_KEY = some_value
CLARIFAI_CLIENT_ID = some_value
CLARIFAI_CLIENT_SECRET = some_value
IMAGGA_API_KEY = some_value
IMAGGA_API_SECRET = some_value

在配置yml,我删除了实际值,看起来像这样

^{pr2}$

我有一个测试,它基本上创建了API客户端实例并配置了所有的东西,这个测试失败了,因为看起来CircleCI没有正确地替换这些值…这是一些打印的输出(这只是从中读取值的时候)配置yml)在

-------------------- >> begin captured stdout << ---------------------
Checking tagger queries clarifai API
${CLARIFAI_CLIENT_ID}
${CLARIFAI_CLIENT_SECRET}
COULD NOT LOAD: 'UNAUTHORIZED'

--------------------- >> end captured stdout << ----------------------

无法加载:应为“UNAUTHORIZED”,因为未验证的凭据会导致Oauth dance失败

有什么线索吗?谢谢!在

意思是没有替代品,所以所有的测试都会失败…我做错了什么…顺便说一句,我没有圆.yml文件…我需要吗?在

谢谢!在

编辑:如果有人遇到同样的问题,解决方案相当简单,我简单地加密了配置yml文件如图所示

https://github.com/circleci/encrypted-files

然后进来圆.yml只需添加一个decypher指令并命名输出文件即可配置yml……就这样!在

dependencies:
  pre:
    # update locally with:
    # openssl aes-256-cbc -e -in secret-env-plain -out secret-env-cipher -k $KEY
    - openssl aes-256-cbc -d -in config-cipher -k $KEY >> config.yml

Tags: 文件keyclientapiidsecretvalueyml
1条回答
网友
1楼 · 发布于 2024-10-03 15:28:38

CircleCI还支持放入环境变量(CircleCI Environment Variables)。不要在代码中输入环境变量的值,而是转到“项目设置”->环境变量。然后单击addvariable with name and value。通常通过名称访问环境变量。在

相关问题 更多 >