如何让多个提供商依赖于环境?

时间:2019-04-04 22:37:49

标签: terraform terraform-provider-aws

我有两种不同的AWS配置。在开发笔记本电脑上,开发人员在profile内使用受MFA保护的shared_credentials_file

在詹金斯上,我们导出环境变量,然后扮演一个角色。

这意味着提供程序块的外观确实不同。在根级别,它们共享相同的backend.tf

我知道我可以使用不同的提供程序来拥有两个不同的根,但是有没有一种方法可以使我不必复制backend.tf和其他根文件?

2 个答案:

答案 0 :(得分:0)

我理解您的观点,但不建议这样做。在运行terraform命令之前,请准备好带有系统环境变量的AWS配置。

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN (optional)
AWS_DEFAULT_REGION
AWS_DEFAULT_PROFILE (optional)

https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html

答案 1 :(得分:0)

我认为最有意义的解决方案是将本地开发人员和jenkins自动化放置到两个单独的环境目录中,每个目录都具有自己的tree.logprice = tree(dtrain$logprice ~ logcarat + cut + color + clarity + depth + table + xx + yy + zz, data = dtrain) plot(tree.logprice) text(tree.logprice) 和后端工作区。

之所以有意义,是因为开发人员不应弄乱自动化创建的资源,并且对jenkins后端的任何操作都应由jenkins完成,否则开发人员可能会覆盖jenkins放置的资源,反之亦然。