Terraform ECS中的Flyway:使用Flyway为db迁移创建任务定义-示例
我正在尝试使用flyway为db迁移创建任务定义,但没有成功。 我在谷歌上找不到任何例子。 具体来说,Terraform ECS中的Flyway:使用Flyway为db迁移创建任务定义-示例,terraform,amazon-ecs,flyway,Terraform,Amazon Ecs,Flyway,我正在尝试使用flyway为db迁移创建任务定义,但没有成功。 我在谷歌上找不到任何例子。 具体来说,json文件在CMD部分中应该是什么样子 编辑 遵循@ydaetskcoR请求-澄清问题 代码应该由terraform提供。在研究了一些代码后,我得出了以下结论: data "template_file" "db_mg_template" { template = "${file("${path.module}/templates/task_definition_dbmgr.json"
json
文件在CMD
部分中应该是什么样子
编辑
遵循@ydaetskcoR请求-澄清问题
代码应该由terraform提供。在研究了一些代码后,我得出了以下结论:
data "template_file" "db_mg_template" {
template =
"${file("${path.module}/templates/task_definition_dbmgr.json")}"
vars {
container_memory = "${local.db_migrations_container_memory}"
service_name = "${local.db_migrations_svc_name}"
cpu_limit = "${local.db_migrations_cpu_limit}"
vault_token = "${var.vault_token}"
consul_address = "${var.consul_address}"
command = "${jsonencode(local.command)}"
}
}
resource "aws_ecs_task_definition" "flyway" {
container_definitions = "${data.template_file.db_mg_template.rendered}"
family = "${local.db_migrations_svc_name}"
network_mode = "awsvpc"
requires_compatibilities = ["FARGATE"]
cpu = "${local.db_migrations_cpu_limit}"
memory = "${local.db_migrations_container_memory}"
execution_role_arn = "${data.aws_iam_role.service_role.arn}"
task_role_arn = "${data.aws_iam_role.service_role.arn}"
}
在我的本地人中(粘贴相关代码):
目标是为flyway运行一个容器,而不将其限制为任何服务(如运行docker容器)
希望这一切都清楚
谢谢您的问题中没有足够的信息来帮助您。您能否展示您当前正在运行的命令和任何其他输入,以及您如何构建您的ECS服务?另外,如果你有一些地形代码,那么将其添加到你的问题中。如果是错误,那么就把完整的错误包括在足够的周围环境中,让陌生人能够理解它。如果它没有达到你想要的效果,那么也解释一下它做错了什么。你的问题中没有足够的信息来帮助你。您能否展示您当前正在运行的命令和任何其他输入,以及您如何构建您的ECS服务?另外,如果你有一些地形代码,那么将其添加到你的问题中。如果是错误,那么就把完整的错误包括在足够的周围环境中,让陌生人能够理解它。如果它没有做到你想要的,那么也解释一下它做错了什么。
locals{
command = ["-url=jdbc:${local.db_type}://${data.consul_keys.this_db.var.db_address}",
"-user=${data.consul_keys.this_db.var.db_username}",
"-password=${data.vault_generic_secret.db_pass.data["value"]}",
"-table=schema_version",
"-location=filesystem:/tmp/DBChanges",
"-sqlMigrationPrefix=v migrate"]
}