Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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_Concourse_Terraform Modules_Concourse Pipeline_Concourse Task - Fatal编程技术网

Terraform 如何指定';来源';如果我没有';我不想使用本地路径

Terraform 如何指定';来源';如果我没有';我不想使用本地路径,terraform,concourse,terraform-modules,concourse-pipeline,concourse-task,Terraform,Concourse,Terraform Modules,Concourse Pipeline,Concourse Task,我有两个repo(由于我的管道设置,它必须是两个),一个repo包含创建S3 bucket所需的terraform脚本(非常简单),另一个repo包含后端设置,当我在本地测试时,我可以使用以下方法在第一个repo中下载模型: module "xxxxxx-sagemaker" { source = "../../the_first_repo_name/terraform" } 这将通过运行“terra

我有两个repo(由于我的管道设置,它必须是两个),一个repo包含创建S3 bucket所需的terraform脚本(非常简单),另一个repo包含后端设置,当我在本地测试时,我可以使用以下方法在第一个repo中下载模型:

module "xxxxxx-sagemaker" {
  source                         = "../../the_first_repo_name/terraform"
 }
这将通过运行“terraform apply”为我创建s3 bucket

但是现在,如果我不想使用此本地路径
。/../the_first\u repo\u name/terraform
,我需要Concourse管道为我应用terraform,我如何修改此本地路径,以便Concourse可以找到terraform脚本并下载它


我看了一下这个页面:,它说我也可以指定一个github url,但它不起作用,因为我的地形代码还没有合并到develop branch中,而且它似乎无法识别代码,我现在该怎么办?希望这有意义,谢谢。

这是您可以通过
--Terragrunt source
选项对Terragrunt执行的操作。Terragrunt是Terraform的包装器,用于提供额外功能


这是您可以通过
--Terragrunt source
选项对Terragrunt执行的操作。Terragrunt是Terraform的包装器,用于提供额外功能


Terraform设计中的一般假设是,如果您有两个模块通常(或总是)一起更改,那么您将把它们保存在同一个存储库中,因为通常的惯例是,单独的代码存储库表示独立发布的软件

如果您通常希望同时更改两个模块,那么目前为止最简单的方法是将它们放在同一个存储库中,以便特定的git提交始终描述这两个模块的特定组合,并且您可以通过代码审阅等方式将更改发送到一起

如果您希望将它们分开,那么假设其中一个将被视为另一个的“上游依赖”,因此您将分别对它们进行更改。下游版本通常取决于上游版本的特定版本,因此您可以在不立即被下游采用的情况下对上游版本进行更改,然后在准备更改依赖项版本以使用新版本时,单独更改下游版本。如果您使用的是Git模块源,那么可以使用源URL中的
ref
参数指定上游的特定“版本”,您可以将该参数设置为提交id、分支名称或标记名称


将上游模块视为一个独立的系统,这意味着您可能需要做一些额外的工作,使其独立成为一个可维护的系统,例如在模块的存储库中编写特殊的测试配置,以便您能够单独测试它。这些测试配置将使您在合并它们之前确信您的更改是正确的,这样您就可以独立于任何特定的下游模块来测试上游。

Terraform设计中的一般假设是,如果您有两个模块,通常(或总是)一起更改,然后将它们保存在同一个存储库中,因为通常的约定是,单独的代码存储库表示独立发布的软件

如果您通常希望同时更改两个模块,那么目前为止最简单的方法是将它们放在同一个存储库中,以便特定的git提交始终描述这两个模块的特定组合,并且您可以通过代码审阅等方式将更改发送到一起

如果您希望将它们分开,那么假设其中一个将被视为另一个的“上游依赖”,因此您将分别对它们进行更改。下游版本通常取决于上游版本的特定版本,因此您可以在不立即被下游采用的情况下对上游版本进行更改,然后在准备更改依赖项版本以使用新版本时,单独更改下游版本。如果您使用的是Git模块源,那么可以使用源URL中的
ref
参数指定上游的特定“版本”,您可以将该参数设置为提交id、分支名称或标记名称

将上游模块视为一个独立的系统,这意味着您可能需要做一些额外的工作,使其独立成为一个可维护的系统,例如在模块的存储库中编写特殊的测试配置,以便您能够单独测试它。这些测试配置将使您确信您的更改在合并之前是正确的,这样您就可以独立于任何特定的下游模块测试上游。

您所说的“两个回购”和您的地形代码没有合并是什么意思?您不能将first respo(使用teraform脚本)定义为大厅管道中的资源?您所说的“两个回购”以及您的地形代码未合并是什么意思?您不能将first respo(使用teraform脚本)定义为大厅管道中的资源吗?