首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS代码部署间歇性失败,没有日志记录信息,也没有创建部署id智能目录

AWS代码部署间歇性失败,没有日志记录信息,也没有创建部署id智能目录
EN

Stack Overflow用户
提问于 2017-08-10 08:34:11
回答 1查看 1.9K关注 0票数 0

我们有一个Jenkins触发的构建安装程序,它在构建后操作中具有AWS代码部署安装程序。当天的第一次部署情况如下-

  • 在AWS代码部署控制台中进行无限期显示,即使在10分钟后也是如此。
  • Jenkins超时会导致以下最后状态:下面是部署日志中的最后几行日志- 部署状态: InProgress;实例:{未决: 0,InProgress: 3,成功: 0,失败: 0,跳过: 0}超过500000毫秒的最大轮询时间。部署状态: InProgress;实例:{未决: 0,InProgress: 3,成功: 0,失败: 0,跳过: 0}部署没有成功。最终状态: InProgress
  • 我不得不手动停止AWS控制台的部署。
  • 我们自定义生成的日志文件显示了与执行到最后的afterInstall步骤对应的脚本。
  • 在指定的位置/opt/codedeploy-agent/deployment-root/3dfdc563-66c5-47a0-98f8-01605d25a6e9/和下面创建的部署ID目录是/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log文件中的最后一行(这些不是致命的错误,也不会使构建挂起)- 2017-08-10 07:10:22.484 such :无法访问测试/hiphop_errors.txt:没有这样的文件或目录2017-08-1007:10:27.511 such : /opt/codedeploy-agent/deployment-root/3dfdc563-66c5-4 7a0-98f8-01605d25a6e9/d-C2A5P270O/deployment-archive/tests/dummy_nginx_access_logs.txt:没有这样的文件或目录

以下是AWS代码部署控制台的截图-

针对单个实例的详细信息没有显示关于错误的详细信息-

然后,我对构建服务器中的所有钩子文件(在各种部署步骤执行的文件,即afterInstall、beforeInstall等)做了一个afterInstall,这是肯定的,因为在复制粘贴windows文件/代码之后,我之前也遇到过类似的问题。在这之后,又进行了两次构建,现在我看到了-

  • 所有实例的部署都失败。对于所有实例,AWS代码部署控制台显示失败,没有详细信息-

  • 没有在指定的位置创建特定于部署id的目录,就像以前的情况一样。根本没有创建部署日志。

由于代码部署的异常行为,我再次不知所措。昨天,我们注意到日志文件没有生成类似的问题。完成了代码部署代理的重新安装,然后部署日志正在创建。但是,我们应该盲目地做多少次新安装呢?

更新

在部署无限期显示的情况下,添加/var/log/aws/codedeploy-agent/codedeploy-agent.log文件的内容,如@empty阿森纳的答复中所指出的(我没有注意到日志中有任何错误)-

代码语言:javascript
复制
2017-08-21 11:13:47 INFO  [codedeploy-agent(1983)]: Version file found in /opt/codedeploy-agent/.version.
2017-08-21 11:13:47 INFO  [codedeploy-agent(1983)]: [Aws::CodeDeployCommand::Client 200 0.065601 0 retries] poll_host_command(host_identifier:"arn:aws:ec2:us-east-1:377703961998:instance/i-e551e37d")

2017-08-21 11:13:47 INFO  [codedeploy-agent(1983)]: Version file found in /opt/codedeploy-agent/.version.
2017-08-21 11:13:47 INFO  [codedeploy-agent(1983)]: [Aws::CodeDeployCommand::Client 200 0.044413 0 retries] put_host_command_acknowledgement(diagnostics:nil,host_command_identifier:"WyJjb20uYW1hem9uLmFwb2xsby5kZXBsb3ljb250cm9sLmRvbWFpbi5Ib3N0Q29tbWFuZElkZW50aWZpZXIiLHsiZGVwbG95bWVudElkIjoiQ29kZURlcGxveS91cy1lYXN0LTEvUHJvZC9hcm46YXdzOnNkczp1cy1lYXN0LTE6Mzc3NzAzOTYxOTk4OmRlcGxveW1lbnQvZC1XNDFCV0tLN08iLCJob3N0SWQiOiJhcm46YXdzOmVjMjp1cy1lYXN0LTE6Mzc3NzAzOTYxOTk4Omluc3RhbmNlL2ktZTU1MWUzN2QiLCJjb21tYW5kTmFtZSI6IkFmdGVySW5zdGFsbCIsImNvbW1hbmRQb3NpdGlvbiI6NSwiY29tbWFuZEF0dGVtcHQiOjF9XQ==")

2017-08-21 11:13:47 INFO  [codedeploy-agent(1983)]: Version file found in /opt/codedeploy-agent/.version.2017-08-21 11:13:47 INFO  [codedeploy-agent(1983)]: [Aws::CodeDeployCommand::Client 200 0.027061 0 retries] get_deployment_specification(deployment_execution_id:"CodeDeploy/us-east-1/Prod/arn:aws:sds:us-east-1:377703961998:deployment/d-W41BWKK7O",host_identifier:"arn:aws:ec2:us-east-1:377703961998:instance/i-e551e37d")
EN

回答 1

Stack Overflow用户

发布于 2017-08-18 14:52:32

在主机从未开始执行生命周期事件的情况下,代理没有安装、没有运行或权限设置不正确的情况几乎总是如此。您只需安装代理一次,所以我不知道您为什么要重新安装。也许代理已经死了,只是没有运行(尽管它应该自己重新启动)。

我会在/var/log/aws/codedeploy-agent/codedeploy-agent.log查看日志。这些是代理日志,并不是特定于部署的。如果特工崩溃了,你应该能看到那里的信息。

至于您所看到的特定于部署的错误,在我看来,这是一个脚本错误。您要访问的文件要么不存在,要么您没有与它们交互的适当权限。你可以在你的应用程序规范中解决这个问题。如果这些错误在任何地方都失败了,您可能希望在不运行这些命令的情况下进行部署,以验证这些错误是否真的是致命的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45608455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档