首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Waypoint Hashicorp是否支持多组件产品的开发?

Waypoint Hashicorp是否支持多组件产品的开发?
EN

Stack Overflow用户
提问于 2021-10-31 12:37:26
回答 1查看 54关注 0票数 0

我们有一个多组分的产品。您是否知道是否可以使用Waypoint来构建、部署和发布多组件应用程序?在他们的文件里找不到。

EN

回答 1

Stack Overflow用户

发布于 2021-11-13 07:43:07

一个Waypoint“项目”支持多个“应用”。项目中的每个应用程序都可以构建单个应用程序。

但是,根据您使用的插件,您可以一次部署多个应用程序。例如,使用nomad-jobspec插件,您可以在Nomad作业文件中包含一个或多个组/任务。

当我在同一个作业文件中有多个应用程序时,我使用的一种变通方法是在同一个项目中有两个不同的应用程序,而不是使用“工件”变量来引用构建,而是使用输入变量。在下面的示例waypoint.hcl文件中,您可以看到我向Nomad jobspec (正在模板化)传递了两个变量,一个用于第一个应用程序的图像的标记,另一个用于第二个应用程序的图像标记。作业文件中的两个Nomad任务(这里没有描述)分别引用任务的"image“配置中的变量。不过,这两个应用程序都传递了这些var。因此,为了部署这两个应用程序,我需要构建应用程序1、构建应用程序2,然后部署应用程序1或应用程序2。

代码语言:javascript
复制
project = "my-project"

app "app1" {
  build {
    use "docker" {}
    registry {
      use "docker" {
        image = "image1"
        tag   = var.app1tag
      }
    }
  }

  deploy {
    use "nomad-jobspec" {
      jobspec = templatefile("${path.app}/job.nomad.tpl", {
        app1tag = var.app1tag
        app2tag = var.app2tag
      })
    }
  }
}

app "app2" {
  build {
    use "docker" {}
    registry {
      use "docker" {
        image = "image2"
        tag   = var.app2tag
      }
    }
  }

  deploy {
    use "nomad-jobspec" {
      jobspec = templatefile("${path.app}/job.nomad.tpl", {
        app1tag = var.app1tag
        app2tag = var.app2tag
      })
    }
  }
}

variable "app1tag" {
  type = string
}

variable "app2tag" {
  type = string
}

我认为这种变通方法不适合Waypoint的其他功能(日志、配置等)。因为您将从一个应用程序管理多个应用程序,但这确实允许同时部署多个应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69786937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档