AWS CodeDeploy 脚本已退出,代码为 127
AWS CodeDeploy script exited with code 127
这是我第一次使用 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)。
谢谢大家
我遇到了完全相同的问题,因为 npm 是为 EC2 用户而不是 root 安装的。我通过将这一行添加到我的 install_dependencies 脚本中解决了这个问题。
su - ec2-user -c 'cd /usr/local/nginx/html/node && npm install'
您可以将 npm install
行替换为上面的行,以您的用户身份安装。
看了很多!我意识到我遇到了与 相同的问题,我没有设置 PATH 变量。
所以离开我的 start_script 因为这很好用!
#!/bin/bash
source /root/.bash_profile
cd /var/www/html/admin_panel_backend
npm install
谢谢!
这是我第一次使用 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)。
谢谢大家
我遇到了完全相同的问题,因为 npm 是为 EC2 用户而不是 root 安装的。我通过将这一行添加到我的 install_dependencies 脚本中解决了这个问题。
su - ec2-user -c 'cd /usr/local/nginx/html/node && npm install'
您可以将 npm install
行替换为上面的行,以您的用户身份安装。
看了很多!我意识到我遇到了与
所以离开我的 start_script 因为这很好用!
#!/bin/bash
source /root/.bash_profile
cd /var/www/html/admin_panel_backend
npm install
谢谢!