У меня есть приложение Node.js, находящийся автоматически развернут на Amazon Web Service через Codeship с помощью CodeDeploy системы развертывания AWS.Amazon Web Service CodeDeploy appspec.yml проблемы
Во время процесса развертывания я установил в своем appspec.yml для остановки текущего веб-приложения. По завершении развертывания я хочу снова запустить веб-приложение.
os: linux
files:
- source:/
destination: /var/www/app2
hooks:
AfterInstall:
- location: bash_scripts/stop_forever.sh
runas: ec2-user
ApplicationStart:
- location: bash_scripts/start_forever.sh
runas: ec2-user
Однако я еще не был в состоянии иметь один из этих сценариев, чтобы быть успешно вызывается из файла appspec.yml во время развертывания.
Текущая ошибка, что я вижу в журнале агента развертывания AWS является
Error CodeScriptMissing
Script Name /var/scripts/stop_forever.sh
MessageScript does not exist at specified location: /var/scripts/stop_forever.sh
Log TailLifecycleEvent - ApplicationStop
Это, кажется, относится к более старой версии файла appspec.yml, который пытается запустить эти сценарии в другом месте , Несмотря на то, что я изменил содержимое файла appspec.yml в развернутом пакете, это сообщение об ошибке остается неизменным при каждом развертывании.
В дополнение к appspec.yml файлы, перечисленные выше, я также пытался сделать следующие изменения:
- Не перечисляя RUNAS параметров для каждого крюка
- REFERENCING скрипт внутри развернутого каталога
- Реферирование сценария вне развернутого каталога
- Имея версии параметра первоначально установлен в 0.0
К сожалению, очень мало онлайн с точки зрения appspec.yml поиска неисправностей, кроме AWS documentation.
Какая очевидная вещь я делаю неправильно?
любая идея, если этот флаг может быть использован в любом случае при развертывании с помощью CodeDeploy консоли или через службу третьей стороны (например, CircleCI), что Безразлично» t использовать cli для этого? – Vee6