我正在使用 PowerShell 从头开始将(一个 .NET 应用程序)部署到 Elastic Beanstalk。我正在构建一个 PS 脚本,因为它将在 CI 服务器上运行,并且我想完全了解该过程。
文档不想让它变得简单,找到预期的包格式似乎是一项不可能完成的任务。亚马逊希望您使用 VS,并且文档中没有提供许多细节。
为了进行测试,我可以设置一个应用程序、环境、带有源的 S3 存储桶/密钥(一个文本文件,以便我可以强制它失败)和一个版本。我用它来监控部署进度:
Get-EBEvent -EnvironmentName "my-environment" | Format-Table -AutoSize
结果不是超级解释(顶部的最新日志条目):
Command execution completed on all instances. Summary: [Successful: 0, Failed: 1]. cde232fd-e272-11e4-a431-992b5a7c73fe INFO
[Instance: i-1db1e0fb Module: AWSEBAutoScalingGroup ConfigSet: Hook-EnactAppDeploy, Infra-EmbeddedPostBuild, Hook-PostAppDeploy, Hook-PostInit, Infra-WriteVersionOnStartup] Command failed on instance. Return code: 1 Output: null. ERROR
Deployment Failed: Unexpected Exception ERROR
Error occurred during build: Command hooks failed ERROR
它失败了 - 很好。但是我应该如何获得有关失败的更详细的日志?我检查了 EB 创建的 S3 中的存储桶,但它没有日志。我在文档中找不到有关使用 API、CLI 或 PowerShell cmdlet 从实例获取日志的任何内容。
简而言之:如何通过 AWS API 获取更详细的部署日志?如果需要,我可以为它找到/调整/创建一个 PowerShell 脚本,只需要了解机制!
(编辑:从管理控制台,我可以请求日志 - 这些是完美的并且格式正确。我可以使用什么 API 来执行此操作?)