AWS Elastic Beanstalk发布部署脚本

问题描述 投票:2回答:1

我正在尝试将部署后脚本添加到我的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 ,并在所有日志中eb-tools.log这些文件周围的关键字。 仍然没有运气。

在此先感谢您的帮助/建议!

参考文献:

ruby-on-rails amazon-web-services amazon-ec2 elastic-beanstalk
1个回答
4
投票

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

如论坛文章中所述:“将文件直接拖放到钩子目录中是有风险的,因为这不是已记录的方法,在某些容器中有所不同,并且将来可能会更改”

© www.soinside.com 2019 - 2024. All rights reserved.