【问题标题】:AWS Elastic Beanstalk Post Deploy ScriptAWS Elastic Beanstalk 部署后脚本
【发布时间】:2015-07-28 01:53:10
【问题描述】:

我正在尝试将部署后脚本添加到我的 Elastic Beanstalk。我已经阅读了一些博客文章(阅读参考资料),其中提到将配置文件添加到 .elasticbeanstalk 目录。配置文件应该创建一个shell脚本并将其复制到目录:

/opt/elasticbeanstalk/hooks/appdeploy/post

在我的.elasticbeanstalk 文件夹中,我有以下文件:

config.yml

    branch-defaults:
      staging:
        environment: env-name
    global:
      application_name: app-name
      default_ec2_keyname: aws-eb
      default_platform: 64bit Amazon Linux 2015.03 v1.3.1 running Ruby 2.2 (Passenger Standalone)
      default_region: us-west-2
      profile: eb-cli
      sc: git

test.config(我添加的用于测试部署后脚本如何工作的配置):

files:
  "/opt/elasticbeanstalk/hooks/appdeploy/post/01_test.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/usr/bin/env bash
      # This is my test shell script

在我运行eb deploy 之后,shell 脚本并没有被复制到上面的目录中。我的/opt/elasticbeanstalk/appdeploy/post 目录是空的。 .elasticbeanstalk 文件夹在/var/app/current/ 目录中是正确的。我也看不到日志文件中引用新脚本或错误的任何内容。我检查了eb-tools.logeb-activity.logcron,并在所有日志中查找了这些文件周围的关键字。尽管如此,还是没有运气。

提前感谢任何帮助/建议!

参考资料:

【问题讨论】:

    标签: ruby-on-rails amazon-web-services amazon-ec2 amazon-elastic-beanstalk


    【解决方案1】:

    放置配置文件的正确位置是应用中的.ebextensions 目录,而不是. elasticbeanstalk。然后,您应该会在 /opt/elasticbeanstalk/hooks/appdeploy/post 目录中看到您的 shell 脚本。

    如论坛帖子中所述 “将文件直接放入 hooks 目录是有风险的,因为这不是记录在案的方法,在某些容器中有所不同,并且将来可能会改变”

    【讨论】:

    • 啊,哇!愚蠢的错误。谢谢!
    猜你喜欢
    • 2014-11-09
    • 2017-04-07
    • 2015-09-20
    • 2020-08-02
    • 2014-12-25
    • 2012-10-25
    • 2018-08-18
    • 2015-06-30
    • 2017-04-11
    相关资源
    最近更新 更多