1

我正在创建一个创建 CloudFormation 堆栈的管道,将我的代码部署到实例并在最后销毁 CloudFormation 堆栈(无论管道失败还是成功完成)。

但在销毁堆栈之前,我想复制 Jenkins 的日志并将它们保存在 amazon-S3 中。我能够成功创建堆栈并将其删除。但不确定如何将日志复制到 amazon-s3。

我正在使用 Jenkins2

4

1 回答 1

0
  1. 假设您有一个带有 cli/boto3 命令的脚本,可以将所需的日志推送到 ec2 框(Jenkins 框)中的 S3 - 使用 ec2 的 init-data 创建它
  2. 在 CFT 中创建一个 lambda 自定义资源,它不会对“创建/更新堆栈”操作执行任何操作。但是,这应该在“删除堆栈”操作期间执行推送脚本(请参阅:http ://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources-lambda.html )
  3. 可以使用 Systems Manager 运行命令从 lambda 触发脚本执行(请参阅:https ://stackoverflow.com/a/40135899/4840338 )

这样,堆栈是使用自定义 lambda 资源创建的,该资源将通过在删除堆栈时在实例中执行脚本来上传日志。

于 2017-06-01T08:23:32.320 回答