代码之家  ›  专栏  ›  技术社区  ›  wonton

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

  •  0
  • wonton  · 技术社区  · 7 年前

    我有两种不同的aws配置。在开发人员的笔记本电脑上,开发人员使用安全的mfa profile 在一个 shared_credentials_file 是的。

    在jenkins上,我们导出环境变量,然后承担一个角色。

    这意味着提供者块看起来确实不同。在根级别,它们共享相同的 backend.tf 是的。

    我知道我可以有两个不同的根与不同的提供者,但有没有办法,所以我不必重复 后端.tf 还有其他根文件?

    0 回复  |  直到 7 年前
        1
  •  0
  •   BMW    7 年前

    我理解你的观点,但不建议这样做。在运行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

        2
  •  0
  •   wonton    7 年前

    我认为最有意义的解决办法是 将本地开发人员和jenkins automations放在两个独立的环境目录中 ,每个都有自己的 aws.tf 以及后端工作区。

    这是有意义的,因为开发人员不应该浪费自动化创建的资源,对jenkins后端的任何操作都应该由jenkins完成,否则dev可能会覆盖jenkins创建的资源,反之亦然。