Elastic beanstalk 钩子不会在第一个“eb deploy”或新的 EC2 实例中创建

Elastic beanstalk 钩子不会在第一个“eb deploy”或新的 EC2 实例中创建

参考文档,

假设我有 .ebextension/03_hooks.config,其中有

commands:
  create_app_deploy_post_dir:
    command: "mkdir -p /opt/elasticbeanstalk/hooks/appdeploy/post"
    ignoreErrors: true

files:
  "/opt/elasticbeanstalk/hooks/appdeploy/post/99-post-deploy-test.sh":
        mode: "000755"
        owner: root
        group: root
        content: |
          #!/usr/bin/env bash

          eventHelper.py --msg "Successfully executing post deployment hook." --severity INFO

该文件不会在第一次部署时创建和执行,即在环境创建或自动扩展期间添加 EC2 实例时。新实例几乎毫无用处,只有在下一次强制重新部署应用程序或eb deploy从应用程序版本部署 zip 时才有用。

观察

  1. 检查文件是否在新添加的 EC2 实例中创建,结果没有。
  2. commands当我检查 eb 日志时,指令中给出的命令也没有执行。
  3. 这让我感觉这两个指令在新添加的实例中第一次部署时被忽略了。

实际用例:我有钩子脚本,用于在 appdeploy enack 和 post 上编写和启动/重新启动 nginx 和 uwsgi。因此,如果它们不在新实例上执行,则在下一次部署之前会间歇性地返回 502。

相关内容