【问题标题】:Jenkins Cloudformation plugin- no updates are to be performedJenkins Cloudformation 插件 - 不执行更新
【发布时间】:2018-08-31 12:59:27
【问题描述】:

我正在使用 Jenkins 和 AWS CloudFormation 插件来创建堆栈。

我目前在 Jenkins 中的设置:

Jenkins 作业 1 - 使用轮询 SCM 的构建触发器创建 cloudformation stack1

Jenkins 作业 2 - 在作业 1 之后使用构建创建 cloudformation stack2

Jenkins 作业 3 - 在作业 2 之后使用构建创建 cloudformation stack3

问题:

创建 cloudformation 堆栈的 Jenkins 作业失败,在失败的作业控制台输出中出现以下错误:

原因:详细消息:不执行更新。 (服务:AmazonCloudFormation;状态代码:400;错误代码:ValidationError;)

想要的结果

如何让所有作业成功运行。 当詹金斯工作 1 和工作 3 发生变化但工作 2 或类似情况没有变化时。

【问题讨论】:

    标签: jenkins jenkins-plugins amazon-cloudformation


    【解决方案1】:

    您是否考虑过摆脱 Jenkins 插件而只使用 AWS CLI?

    http://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/index.html

    如果有变化,上述命令应该成功退出。

    【讨论】:

    • 谢谢戴维斯。这可能是一个选择,会试一试。
    【解决方案2】:

    我不了解 Jenkins 插件,但您需要执行创建更改集调用,然后检查结果,然后如果更改集有更改,则有条件地执行更改集

    【讨论】:

    • 你的意思是设置一个管道?
    【解决方案3】:

    您可以为各个工作创建 3 个不同的项目。 在 Project1 的构建后操作中,选择“仅在构建稳定时触发”选项。Project1 将在完成其工作后触发 Project2。 在 Project2 的构建后操作中,选择“即使构建失败也触发”选项。 Project2 将在完成其工作后触发 Project3。 通过这种方法,您将能够单独触发三个作业。 Project3 将由 Project2 触发,即使它被标记为失败。

    【讨论】:

      【解决方案4】:

      解决了!通过使用 AWS CLI 作为 shell 脚本进行 cloudformation。

      【讨论】:

        猜你喜欢
        • 2021-05-09
        • 2017-01-28
        • 2020-06-22
        • 1970-01-01
        • 2022-10-06
        • 1970-01-01
        • 1970-01-01
        • 2019-09-01
        • 1970-01-01
        相关资源
        最近更新 更多