gitlab - 如何将预定义的 json 环境变量传递给 gitlab 作业?
问题描述
我不知道如何将 json 文件中的一些环境变量传递给 Gitlab CI,特别是我与 cypress.io 一起使用的那个。
Gitlab CI 当然有一个部分,您可以在其中以变量或文件的形式指定环境变量。
然而,Gitlab CI 抱怨“变量键只能包含字母、数字和'_'”。
所以,我想到的事情:
- 通过使用覆盖 cypress 使用的 env 文件,
--env
然后指定一个文件,如
# cypress-env
{
"username": "xxxx",
"password": "xxxx"
}
创建此答案中指定的文件https://stackoverflow.com/a/55581164/5597960
要求 Cypress.io 团队提供有关如何执行此操作的示例(他们出色的文档没有类似的示例)。
研究更多关于在 Gitlab CI 中指定文件变量的信息。Gitlab 产生的错误有些奇怪。为什么他们不允许文件变量中的点?我一定做错了什么。
解决方案
请按照以下步骤操作:
- 按照 gitlab-ci 要求的语法创建具有键名的环境变量。例如,命名它
json_variables
Key:必须是一行,不能有空格,只能使用字母、数字或_。
- 在 Gitlab-ci 作业中,将 的内容复制
json_variables
到一个名为cypress.env.json
stages:
- build
development:
stage: build
when: manual
script:
- cp $json_variables ~/cypress.env.json
- cat ~/cypress.env.json
environment: development
only:
- dev
为了验证,输出cat
是
推荐阅读
- python - StandardScaler ValueError: operands could not be broadcast together with shapes (75000,3) (50,) (75000,3)
- javascript - 删除 if 语句
- python - 如何更改列表中的每个元素?
- robotframework - 无法在机器人文件中导入 Selenium2Library
- image-processing - 如何在 Flutter 中从画布上裁剪圆形(或方形或六边形)区域
- javascript - 根据 id 对数组数据进行分组
- angular - 无法将 JSON 数组转换为 HTML 动态表,并且在 Angular 中使用 typescript 显示为空白
- azure-devops - .NET Core 3 构建时间表?
- loopback4 - 如何在 loopback4 中应用搜索 api
- sql - 在 SQL Server 中将 XML 写入驱动器