Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform模块子目录放置_Terraform - Fatal编程技术网

Terraform模块子目录放置

Terraform模块子目录放置,terraform,Terraform,我对terraform还不熟悉,我正在考虑编码新环境的最佳结构 假设我的每个环境都有一个根目录,比如开发、登台和生产环境 我想知道是否最好将modules目录定位为根目录之外的子目录,或者将module目录定位在与根目录相同的级别 官方指南将modules目录显示为每个根目录下的一个子目录(即一个modules目录用于dev,另一个用于staging等),但这使得很难为每个环境共享模块。这似乎是官方的建议 回购协议中通常有哪些内部模块 问候 Shaun我们尽量不创建“内部”模块,因为它们不能跨r

我对terraform还不熟悉,我正在考虑编码新环境的最佳结构

假设我的每个环境都有一个根目录,比如开发、登台和生产环境

我想知道是否最好将modules目录定位为根目录之外的子目录,或者将module目录定位在与根目录相同的级别

官方指南将modules目录显示为每个根目录下的一个子目录(即一个modules目录用于dev,另一个用于staging等),但这使得很难为每个环境共享模块。这似乎是官方的建议

回购协议中通常有哪些内部模块

问候
Shaun

我们尽量不创建“内部”模块,因为它们不能跨repo重用,因此我们使用git源代码而不是文件系统源代码。我觉得这个方法更好,因为

  • 模块不绑定到单个存储库
  • 您可以对模块和应用程序进行版本设置
  • 从git中获取模块时,只需为每个模块创建一个新的存储库。然后你可以用你的模块文件保持整洁

    • main.tf
    • 变量.tf
    • 产出.tf
    • versions.tf
    其中versions.tf用于固定模块所需的Terraform core和提供程序版本

    i、 e

    terraform {
        version = "= 0.12.9"
        required_providers {
            aws = ">= 2.7.0"
        }
    }