如何有条件地使用打包程序构建aws ami?

问题描述 投票:1回答:1

仅当结果(shell命令)与“ provisioner”部分中的值匹配时,我才使用打包器来构建新的ami

我正在寻找在“ provisioner”部分中有条件语句的解决方案

"provisioners": [
  {
    "type": "shell",
    "inline": [
      res=f(20)
    ]

在此示例中,我想定义一个条件如果res = 10,则继续(这样,打包程序将生成aws ami)否则停止执行(并打印一条消息)

ami packer
1个回答
0
投票
我将从免责声明开始:有条件构建不是供应者真正打算做的事情。理想情况下,应该在打包程序的构建过程之外处理这种逻辑,例如@MattSchuchard建议的构建管道。构建管道工具的示例包括:Jenkins,CircleCI,Drone.IO

但是:如果您确实需要在预配器中内置此逻辑,则Packer会终止并退出非零错误代码,因此您可以执行以下操作:

© www.soinside.com 2019 - 2024. All rights reserved.