Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails AWS弹性Beanstalk部署后脚本_Ruby On Rails_Amazon Web Services_Amazon Ec2_Amazon Elastic Beanstalk - Fatal编程技术网

Ruby on rails AWS弹性Beanstalk部署后脚本

Ruby on rails AWS弹性Beanstalk部署后脚本,ruby-on-rails,amazon-web-services,amazon-ec2,amazon-elastic-beanstalk,Ruby On Rails,Amazon Web Services,Amazon Ec2,Amazon Elastic Beanstalk,我正在尝试向Elastic Beanstalk添加部署后脚本。我已经读了一些博客文章(阅读参考资料),其中提到将配置文件添加到.elasticbeanstalk目录。配置文件应该创建一个shell脚本并将其复制到目录: /opt/elasticbeanstalk/hooks/appdeploy/post 在我的.elasticbeanstalk文件夹中,我有以下文件: config.yml branch-defaults: staging: environme

我正在尝试向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(我为测试部署后脚本的工作方式而添加的配置):

但是,在我运行
eb deploy
之后,shell脚本不会被复制到上面的目录中。我的
/opt/elasticbeanstalk/appdeploy/post
目录为空。
.elasticbeanstalk
文件夹在
/var/app/current/
目录中是正确的。我在日志文件中也看不到任何引用新脚本或错误的内容。我已经检查了
eb tools.log
eb activity.log
cron
,并在所有日志中搜索这些文件的关键字。不过,运气不好

提前感谢您的帮助/建议

参考资料:


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

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

Ah,doh!愚蠢的错误。谢谢
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