如何使用Gitlab CI部署无服务器功能?

时间:2019-02-28 16:28:43

标签: environment-variables gitlab-ci serverless-framework

我正在尝试使用.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流程兼容的项目中的机密?

1 个答案:

答案 0 :(得分:0)

要定义项目级别的机密,请转到:

  

您的项目->设置-> CI / CD->变量

这些秘密将通过环境变量提供。您可以阅读有关变量here

的更多信息

关于您的SUBNET_IDS列表问题。您可以将每个变量定义为不同的变量,也可以将它们与一个字符(例如,或;)连接,然后在脚本中拆分它们。