我正在尝试使用.gitlab-ci.yml文件部署无服务器功能,并将环境变量注入函数中,而我在serverless.yml文件中使用以下格式:
${file(./serverless.env.yml):${opt:stage, 'dev'}.VARIABLE_1_KEY}
我的serverless.env.yml
文件看起来像这样:
staging:
VARIABLE_1_KEY: xxxxxxx
VARIABLE_2_KEY: xxxxxxx
SUBNET_IDS:
- xxxxxx
- xxxxxx
production:
VARIABLE_1_KEY: xxxxxxx
VARAIBLE_2_KEY: xxxxxxx
SUBNET_IDS:
- xxxxxx
- xxxxxx
我的问题是我没有提交我的serverless.env.yml
文件,这意味着Gitlab将无法使用它来部署功能。
我可以将变量更改为这种格式${env:VARIABLE_KEY}
,但这给我留下了一个问题,其中SUBNET_IDS
是一个值列表,从环境变量中解析值时不起作用。 / p>
是否有更好的方法来定义与Gitlab CI流程兼容的项目中的机密?
答案 0 :(得分:0)
要定义项目级别的机密,请转到:
您的项目->设置-> CI / CD->变量
这些秘密将通过环境变量提供。您可以阅读有关变量here
的更多信息关于您的SUBNET_IDS
列表问题。您可以将每个变量定义为不同的变量,也可以将它们与一个字符(例如,或;)连接,然后在脚本中拆分它们。