EB: запуск команд контейнера / сценариев развертывания при изменении конфигурации - PullRequest
0 голосов
/ 01 июня 2018

Я использую свой веб-сервер на Elastic Beanstalk и использую Papertrail для регистрации.Я использую официальный скрипт .ebextensions , чтобы настроить papertrail во время развертывания, но у меня проблема.Я использую переменные среды как часть моего имени хоста, используемого в качестве отправителя, когда remote_syslog загружает журналы на papertrail, и, хотя это прекрасно работает во время развертывания, когда запускается команда контейнера 01_set_logger_hostname, я сталкиваюсь с проблемами всякий раз, когда меняю переменные среды, изменяяКонфигурация среды, поскольку кажется, что вызов eb config только перезапустит сервер приложений, но не запустит ни один из сценариев, запущенных во время развертывания, включая команды контейнера ebextensions.

"/tmp/set-logger-hostname.sh":
    mode: "00555"
    owner: root
    group: root
    encoding: plain
    content: |
      #!/bin/bash
      logger_config="/etc/log_files.yml"
      appname=`{ "Ref" : "AWSEBEnvironmentName" }`
      instid=`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id`
      myhostname=${SOME_VARIABLE}_${appname}_${instid}

      if [ -f $logger_config ]; then
        # Sub the hostname
        sed "s/hostname:.*/hostname: $myhostname/" -i $logger_config       
      fi

Как вы можете видеть, так как мойимя хоста зависит от ${SOME_VARIABLE}, мне нужно обновлять имя хоста всякий раз, когда ${SOME_VARIABLE} изменяется после eb config.

Есть ли способ запустить скрипт, который запускается при запуске команды eb config,чтобы я мог не только перезапустить свое веб-приложение, но и перенастроить и перезапустить remote_syslog с обновленным именем хоста?

...