You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CodePipeline中appspec.yml未执行脚本且无报错的问题

问题排查与解决

核心问题1:appspec.yml 缩进错误

YAML 语法对缩进极其敏感,你的 hooks 块下的各个钩子(ApplicationStop、BeforeInstall 等)没有正确缩进,导致 CodeDeploy 无法识别这些钩子配置,自然不会执行脚本。

正确的缩进格式应该是:

version: 0.0
os: linux
files:
  - source: /
    destination: /home/ubuntu
    file_exists_behavior: OVERWRITE
hooks:
  ApplicationStop:
    - location: scripts/stop_server.sh
      timeout: 300
      runas: root
      
  BeforeInstall:
    - location: scripts/deploy_server.sh
      timeout: 300
      runas: root
     
  ApplicationStart:
    - location: scripts/start_server.sh
      timeout: 300
      runas: root

核心问题2:脚本 Shebang 错误

你的脚本开头写的是 #!bin/bash,缺少了根路径的 /,系统无法找到 bash 解释器,会导致脚本无法执行。必须改为:

#!/bin/bash

sudo systemctl stop HYPNOS.service
sudo systemctl disable HYPNOS
sudo systemctl daemon-reload

其他排查点

  • 脚本权限:确保脚本拥有可执行权限,在构建阶段添加命令 chmod +x scripts/*.sh,或者本地修改权限后再提交代码。
  • 查看部署日志:目标服务器上的 /opt/codedeploy-agent/deployment-root/ 目录下会有对应部署的详细日志,即使控制台没有报错,日志里也会记录脚本执行的具体问题,比如路径找不到、权限不足等。

内容的提问来源于stack exchange,提问作者Rehan Akhtar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 16:06:14