Сценарий AWS CodeDeploy завершен с кодом 127 - PullRequest
0 голосов
/ 16 февраля 2019

Я впервые использую AWS CodeDeploy, и у меня возникают проблемы при создании моего appspec.yml файла.

Это ошибка, которую я получаю:

2019-02-16 19:28:06 ERROR [codedeploy-agent(3596)]:
InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: 
Error during perform: 
InstanceAgent::Plugins::CodeDeployPlugin::ScriptError - 
Script at specified location: deploy_scripts/install_project_dependencies 
run as user root failed with exit code 127 -
 /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/hook_executor.rb:183:in `execute_script'

Этомой appspec.yml файл

version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/html/admin_panel_backend
hooks:
  BeforeInstall:
    - location: deploy_scripts/install_dependencies
      timeout: 300
      runas: root
    - location: deploy_scripts/start_server
      timeout: 300
      runas: root
  AfterInstall:
    - location: deploy_scripts/install_project_dependencies
      timeout: 300
      runas: root
  ApplicationStop:
    - location: deploy_scripts/stop_server
      timeout: 300
      runas: root

А это структура моего проекта

drwxr-xr-x    7 501  20     224 Feb  6 20:57 api
-rw-r--r--    1 501  20     501 Feb 16 16:29 appspec.yml
-rw-r--r--    1 501  20     487 Feb 14 21:54 bitbucket-pipelines.yml
-rw-r--r--    1 501  20    3716 Feb 14 20:43 codedeploy_deploy.py
drwxr-xr-x    4 501  20     128 Feb  6 20:57 config
-rw-r--r--    1 501  20    1047 Feb  4 22:56 config.yml
drwxr-xr-x    6 501  20     192 Feb 16 16:25 deploy_scripts
drwxr-xr-x  264 501  20    8448 Feb  6 17:40 node_modules
-rw-r--r--    1 501  20  101215 Feb  6 20:57 package-lock.json
-rw-r--r--    1 501  20     580 Feb  6 20:57 package.json
-rw-r--r--    1 501  20     506 Feb  4 08:50 server.js

И deploy_scripts папка

-rwxr--r--  1 501  20  50 Feb 14 22:54 install_dependencies
-rwxr--r--  1 501  20  61 Feb 16 16:25 install_project_dependencies
-rwxr--r--  1 501  20  32 Feb 14 22:44 start_server
-rwxr--r--  1 501  20  31 Feb 14 22:44 stop_server

Это мой скрипт install_project_dependencies

#!/bin/bash
cd /var/www/html/admin_panel_backend
npm install

Все остальные скрипты работают нормально, но этот (install_project_dependencies).

Спасибо вам всем

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

После прочтения много!Я понял, что у меня возникла та же проблема, что и у проблемы NPM при развертывании экземпляра nodejs с использованием AWS codedeploy , у меня не была установлена ​​переменная PATH.

Так что оставив мой start_script, он работал нормально!

#!/bin/bash
source /root/.bash_profile
cd /var/www/html/admin_panel_backend
npm install

Спасибо!

0 голосов
/ 17 февраля 2019

У меня была точно такая же проблема, потому что npm был установлен для пользователя EC2, а не для пользователя root.Я решил эту проблему, добавив эту строку в мой скрипт install_dependencies.

su - ec2-user -c 'cd /usr/local/nginx/html/node && npm install'

Вы можете заменить строку npm install на строку выше, чтобы установить ее в качестве пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...