我很好奇,如果有一个与厨房terraform的方式下运行测试模块之前创造一些 件的基础设施,也 添加一些额外的作品不属于模块特有的一部分。
你可以做所有这些。你.kitchen.yml
将指定的terraform代码存在,在这里执行:
provisioner:
name: terraform
directory: path/to/terraform/code
variable_files:
- path/to/terraform/variables.tfvars
更重要的是,建立在建立你想要的所有基础设施,包括模块测试位置main.tf
。执行顺序将由资源本身的依赖性来控制。
假设你在同一回购正在测试为你的模块,也许安排是这样的:
├── .kitchen.yml
├── Gemfile
├── Gemfile.lock
├── README.md
├── terraform
│ ├── my_module
│ ├── main.tf
│ └── variables.tf
├── test
├── main.tf
└── terraform.tfvars
实际.kitchen.yml
将包括此:
provisioner:
name: terraform
directory: test
variable_files:
- test/variables.tfvars
variables:
access_key: <%= ENV['AWS_ACCESS_KEY_ID'] %>
secret_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
而且你test/main.tf
将实例化模块以及任何其他正在测试的代码。
provider "aws" {
access_key = "${var.access_key}"
secret_key = "${var.secret_key}"
region = "${var.region}"
}
...
module "my_module" {
name = "foo"
source = "../terraform/my_module"
...
}
resource "aws_instance" "test_instance_1" {
...
}
来源
2016-11-30 02:06:17
erk