【问题标题】:pipeline-aws-plugin of cfnUpdate trows WaiterUnrecoverableExceptioncfnUpdate 的 pipeline-aws-plugin 导致 WaiterUnrecoverableException
【发布时间】:2018-07-19 13:50:16
【问题描述】:

当尝试运行 pipeline-aws-plugincfnUpdate 时,我得到 WaiterUnrecoverableException,但是当通过 Amazon 控制台创建堆栈时,它的创建没有问题

详情:

版本管道:AWS Steps 1.27

我正在尝试执行:

cfnUpdate(stack:"${stack}", url:"${urlTemplate}", params: 'roleName':"${roleName}",'bucket':"${bucket}",'pathS3':"${pathS3}",'handler':"${handler}"],timeoutInMinutes:10)

在哪里

  • ${stack} 是堆栈的编号
  • ${urlTemplate} 是指向保存在 S3 中的模板的链接

并抛出 Jenkins 日志:

com.amazonaws.waiters.WaiterUnrecoverableException:资源由于失败而从未进入所需状态。 在 com.amazonaws.waiters.WaiterExecution.pollResource(WaiterExecution.java:78) 在 com.amazonaws.waiters.WaiterImpl.run(WaiterImpl.java:88) 在 com.amazonaws.waiters.WaiterImpl$1.call(WaiterImpl.java:110) 在 com.amazonaws.waiters.WaiterImpl$1.call(WaiterImpl.java:106) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) 引起:java.util.concurrent.ExecutionException 在 org.apache.http.concurrent.BasicFuture.getResult(BasicFuture.java:71) 在 org.apache.http.concurrent.BasicFuture.get(BasicFuture.java:84) 在 de.taimos.pipeline.aws.cloudformation.EventPrinter.waitAndPrintEvents(EventPrinter.java:135) 在 de.taimos.pipeline.aws.cloudformation.EventPrinter.waitAndPrintStackEvents(EventPrinter.java:92) 在 de.taimos.pipeline.aws.cloudformation.CloudFormationStack.create(CloudFormationStack.java:119) 在 de.taimos.pipeline.aws.cloudformation.CFNUpdateStep$Execution.whenStackMissing(CFNUpdateStep.java:125) 在 de.taimos.pipeline.aws.cloudformation.AbstractCFNCreateStep$Execution$1.run(AbstractCFNCreateStep.java:137)

作为参考,我的模板类似于:

Cloudformation Template

也许有人可以帮助我或建议我做一些调整?

问候

【问题讨论】:

    标签: amazon-web-services jenkins jenkins-plugins jenkins-pipeline amazon-cloudformation


    【解决方案1】:

    您正在关闭“params”数组,但您没有打开它。试试这个:

    cfnUpdate(stack:"${stack}", url:"${urlTemplate}", params: ['roleName':"${roleName}",'bucket':"${bucket}",'pathS3':"${pathS3}",'handler':"${handler}"],timeoutInMinutes:10)

    【讨论】: