首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS CodeDeploy不运行钩子脚本

AWS CodeDeploy不运行钩子脚本
EN

Stack Overflow用户
提问于 2022-04-16 21:03:20
回答 1查看 474关注 0票数 0

我正在学习如何使用CodePipeline,对于小型测试节点应用程序,CodeDeploy有问题。我的目标是为大型express + react应用程序实现CD,我需要使用来自AppSpec.yml的钩子。目前,其他一切都在工作,文件被复制等,它只是不触发脚本。我从BeforeInstall (从pm2删除进程)和ApplicationStart (用pm2开始应用程序)钩子开始,但现在我转向使用ApplicationStart with script从pm2中删除进程,以查看它是否有效。

我的AppSpec.yml:

代码语言:javascript
运行
复制
version: 0.0
os: linux
files:
  - source: /
    destination: /home/ubuntu/api
permissions:
  - object: /home/ubuntu/api/
    owner: ubuntu
    group: ubuntu
    mode: "777"
# I use appStop.sh just to check if this works:
ApplicationStart:
  - location: scripts/appStop.sh
    runas: ubuntu
# I tried also running as root, still nothing
    timeout: 60

appStop.sh:

代码语言:javascript
运行
复制
#!/bin/bash
cd /home/ubuntu/api
pm2 delete 0

我尝试了很多东西,也把所有东西都作为root运行(虽然我更喜欢使用ubuntu用户)。

在/var/ log /aws/codedeploy中的日志文件中没有错误。

我还可以在/opt/codedeploy/deployment/.中看到reviev中的所有文件和脚本dir。

当我在home dir中手动运行appStop脚本时,它可以工作。看起来CodeDeploy代理只是没有运行脚本。

EN

回答 1

Stack Overflow用户

发布于 2022-04-16 23:40:44

好吧,看来我成功了。首先,我通过删除/opt/deployment-root/<deployment droup id>、dir和/opt/deployment-root/deployment-instructions清除了代码部署代理数据。

我也改变了位置,不知道这是否有帮助,但必须这样做,因为我决定与根用户,以使事情更容易。App现在在/var/www/api中。

我还使用pm2重新安装了所有js软件(节点、pm2、npm)。

我的工作AppSpec.yml:

代码语言:javascript
运行
复制
version: 0.0
os: linux

files:
  - source: /
    destination: /var/www/api

permissions:
  - object: /var/www/api/
    mode: 775
    type:
      - file
      - directory
hooks:
  ApplicationStop:
    - location: scripts/appStop.sh
      runas: root
  ApplicationStart:
    - location: scripts/appStart.sh
      runas: root

和工作脚本:

appStop.sh:

代码语言:javascript
运行
复制
#!/bin/bash
cd /var/www/api
sudo pm2 delete 0

appStart.sh:

代码语言:javascript
运行
复制
#!/bin/bash
cd /var/www/api
sudo pm2 start server.js
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71897481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档