我有一个Nancyfx控制台应用程序,我正在尝试使用AWS CodeDeploy将其部署到AWS EC2 Windows实例。所有步骤均显示在CodeDeploy的“部署”仪表板中已成功运行,尽管该应用程序实际上并未正确启动。
该问题被隔离到ApplicationStart挂钩,该挂钩是运行应用程序exe的单行批处理文件。如果我将RDP放入实例并手动运行该批处理文件,它将按预期运行。
预期结果: -应用程序的控制台窗口打开 -调试打印输出表明从DynamoDB成功提取了一些初始数据 -调试打印输出表明应用程序正在运行。 -等待任何输入(Nancyfx的默认设置)使控制台窗口保持打开状态
实际结果: -没有打开控制台窗口,但是CodeDeploy的日志显示以下内容的标准输出 -调试打印输出指示提取初始数据失败 -调试打印输出表明应用程序正在运行 -应用程序未运行
我想问题在于CodeDeploy如何执行批处理文件,但是我找不到这种特殊的难以解决的Google问题的答案。请帮忙!
答案 0 :(得分:0)
已解决-我发现应用程序内的DynamoDB调用导致其过早退出,这通过授予IAM角色DynamoDB访问权限来解决。