首次使用git aws.push推送到弹性Beanstalk出现错误

3
我是新手,正在尝试启动一个Rails 4应用程序。我遵循了这里的指南http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-reference-get-started.html,但当我执行时...
git aws.push

它告诉我我的更新有错误。
[Instance: i-a6482b8b Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance. Return code: 1 Output: Error occurred during build: Command hooks failed .

这个EBS日志里充斥着很多我不熟悉的混乱项目。很难分辨该分享什么,但这两个区域非常突出。

  1. 这里有很多"不行"的信息,这并不是个好兆头。另外调用了一些Python文件,这让人困惑,因为我应该运行着64位Amazon Linux 2014.03 v1.0.4版本,其上运行着Ruby 2.0(Passenger Standalone)。

    2014-09-22 05:31:28,375 [INFO] 正在运行configSet Infra-WriteApplication2 2014-09-22 05:31:28,376 [INFO] 正在运行config Infra-WriteApplication2 2014-09-22 05:31:28,376 [DEBUG] 未指定任何packages 2014-09-22 05:31:28,376 [DEBUG] 未指定任何groups 2014-09-22 05:31:28,377 [DEBUG] 未指定任何users 2014-09-22 05:31:28,377 [DEBUG] 未指定任何sources 2014-09-22 05:31:28,377 [DEBUG] 正在将内容写入/opt/elasticbeanstalk/bin/download_source_bundle 2014-09-22 05:31:28,377 [DEBUG] 正在从https://s3.amazonaws.com/elasticbeanstalk-env-resources-us-east-1/eb_patching_resources/download_source_bundle.py检索内容 2014-09-22 05:31:28,624 [DEBUG] 设置/opt/elasticbeanstalk/bin/download_source_bundle的模式为000750 2014-09-22 05:31:28,625 [DEBUG] 对/opt/elasticbeanstalk/bin/download_source_bundle设置所有者0和组0 2014-09-22 05:31:28,625 [DEBUG] 正在运行命令01downloadVersion 2014-09-22 05:31:28,626 [DEBUG] 命令01downloadVersion没有测试 2014-09-22 05:31:29,354 [INFO] 命令01downloadVersion成功 2014-09-22 05:31:29,355 [DEBUG] 命令01downloadVersion输出: 2014-09-22 05:31:29,355 [DEBUG] 正在运行命令02deleteVersionDownloadScriptFile 2014-09-22 05:31:29,356 [DEBUG] 命令02deleteVersionDownloadScriptFile没有测试 2014-09-22 05:31:29,370 [INFO] 命令02deleteVersionDownloadScriptFile成功 2014-09-22 05:31:29,371 [DEBUG] 命令02deleteVersionDownloadScriptFile输出: 2014-09-22 05:31:29,371 [DEBUG] 未指定任何services 2014-09-22 05:31:29,384 [INFO] 正在运行configSet Infra-EmbeddedPreBuild 2014-09-22 05:31:29,388 [INFO] 正在运行configSet Hook-PreAppDeploy 2014-09-22 05:31:29,389 [INFO] 正在运行config Hook-PreAppDeploy 2014-09-22 05:31:29,389 [DEBUG] 未指定任何packages 2014-09-22 05:31:29,389 [DEBUG] 未指定任何groups 2014-09-22 05:31:29,389 [DEBUG] 未指定任何users 2014-09-22 05:31:29,390 [DEBUG] 未指定任何sources 2014-09-22 05:31:29,390 [DEBUG] 未指定任何files 2014-09-22 05:31:29,390 [DEBUG] 正在运行命令hooks 2014-09-22 05:31:29,390 [DEBUG] 命令hooks没有测试 2014-09-22 05:31:41,367 [ERROR] 命令hooks

    非常抱歉,代码片段有些奇怪,我今天运气不好!

    有没有具有AWS / Elastic Beanstalk经验的人可以指导我如何排除故障?

1个回答

7

您的EC2实例上是否已安装Git?

您可以通过使用ebextension来安装它。创建一个名为.ebextensions/01-git.config的文件。文件名应该有一个.config扩展名。

文件的内容可以如下所示:

packages:
  yum:
    git: []

这个文件是YAML格式的,因此缩进很重要。关于ebextensions中packages部分的更多信息可以在这里找到。 提交此文件并再次运行git aws.push命令。它将在您的环境中部署新的应用程序版本,并安装git到您的EC2实例上。
很可能您的Gemfile中包含了git urls作为源。这就是为什么bundler会尝试使用git获取文件。 您还可以考虑在Elastic Beanstalk中使用vendored gems。在这里阅读更多信息。
另外,有关python文件,它们是Elastic Beanstalk在实例上部署应用程序版本时运行的Python脚本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接