通过AWS CodeDeploy执行控制台应用程序无效,但是手动运行批处理文件有效吗?

时间:2019-06-25 19:47:04

标签: windows amazon-ec2 console-application nancy aws-code-deploy

我有一个Nancyfx控制台应用程序,我正在尝试使用AWS CodeDeploy将其部署到AWS EC2 Windows实例。所有步骤均显示在CodeDeploy的“部署”仪表板中已成功运行,尽管该应用程序实际上并未正确启动。

该问题被隔离到ApplicationStart挂钩,该挂钩是运行应用程序exe的单行批处理文件。如果我将RDP放入实例并手动运行该批处理文件,它将按预期运行。

预期结果: -应用程序的控制台窗口打开 -调试打印输出表明从DynamoDB成功提取了一些初始数据 -调试打印输出表明应用程序正在运行。 -等待任何输入(Nancyfx的默认设置)使控制台窗口保持打开状态

实际结果: -没有打开控制台窗口,但是CodeDeploy的日志显示以下内容的标准输出 -调试打印输出指示提取初始数据失败 -调试打印输出表明应用程序正在运行 -应用程序未运行

我想问题在于CodeDeploy如何执行批处理文件,但是我找不到这种特殊的难以解决的Google问题的答案。请帮忙!

1 个答案:

答案 0 :(得分:0)

已解决-我发现应用程序内的DynamoDB调用导致其过早退出,这通过授予IAM角色DynamoDB访问权限来解决。