Terraform Heroku提供者:它有dyno的资源吗?

时间:2018-02-19 18:36:22

标签: heroku terraform

使用terraform,我可以创建Heroku应用程序,创建和附加附加组件并将应用程序放在管道中。创建基础结构后,除了没有启动dynos之外,一切都很好。我使用了heroku/nodejs buildpack。 Terraform的Heroku provider未提供与Heroku dyno对应的任何显式资源类型。当使用Terraform创建必要的附加组件和管道时,我们是否应该手动推送应用程序在Heroku上进行部署?

我搜索了很多但是无法弄清楚在必要的基础设施到位之后,dynos没有开始的原因。

请帮忙。

2 个答案:

答案 0 :(得分:0)

所以今天我想用terraform测试heroku并得到同样的问题 看起来您需要将应用推送到git_url提供的heroku_app参考 在https://github.com/nroitero/terraform_heroku

做了一个工作的例子

答案 1 :(得分:0)

我正在按照以下示例进行操作,并且可以正常工作。

首先,定义heroku应用程序:

resource "heroku_app" "this" {
    name   = var.HEROKU_APP_NAME
    region = var.HEROKU_REGION
    space = var.HEROKU_SPACE
    internal_routing = var.HEROKU_INTERNAL_ROUTING

然后,指示节点应用程序在哪里:

resource "heroku_build" "this" {
  app = heroku_app.this.name
  #buildpacks = [var.BUILDPACK_URL]

  source = {
    #url = var.SOURCE_URL
    #version = var.SOURCE_VERSION
    #testing path instead of source
    path =  var.SOURCE_PATH
  }
}

要定义测功,我正在使用:

resource "heroku_formation" "this" {
  app        = heroku_app.this.name
  type       = var.HEROKU_FORMATION_TYPE
  quantity   = var.HEROKU_FORMATION_QTY
  size       = var.HEROKU_FORMATION_SIZE
  depends_on = [heroku_build.this]
}

对于dyno大小参数(var.HEROKU_FORMATION_SIZE),请使用https://devcenter.heroku.com/articles/dyno-types上列出的官方dyno类型“名称”。

对于私有空间,名称为:private-s,private-m和private-l。