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

如何通过CloudFormation模板在CodeDeploy中配置内容覆盖功能

解决方案

1. CloudFormation模板修改(添加内容覆盖功能)

在Deployment属性下新增FileExistsBehavior: OVERWRITE配置即可对应控制台的「Overwrite the content」功能,指定目标路径文件已存在时直接覆盖,无需人工删除。修改后完整模板段如下:

Group:
    Type: AWS::CodeDeploy::DeploymentGroup
    Properties:
      ApplicationName: !ImportValue DeployName
      Deployment:
        IgnoreApplicationStopFailures: true
        Description: 'Code Deploy to Train'
        FileExistsBehavior: OVERWRITE # 新增的内容覆盖配置
        Revision:
          RevisionType: S3
          S3Location:
            Bucket: '<sample>'
            BundleType: 'zip'
            Key: '<test>.zip'   
      Ec2TagFilters:
        -
          Key: 'Type'
          Value: 'Train'
          Type: 'KEY_AND_VALUE'
      ServiceRoleArn: !GetAtt [PipeRole, Arn]

2. 配套报错修复

2.1 「文件已存在」报错根因修复

你当前app_stop.sh中删除/opt/codedeploy-agent/deployment-root/*的操作会破坏CodeDeploy代理的本地部署状态记录,是即使提前删除目标文件夹仍报错的核心原因,必须移除该路径的删除逻辑。

2.2 「app_stop.sh执行失败」报错修复

脚本判断逻辑存在兼容性问题,且root用户运行时无需额外加sudo,修改后脚本如下:

if [ -d /var/www/html/scripts ]; then
    rm -Rf /var/www/html/*
fi
if systemctl is-active --quiet httpd; then
    systemctl stop httpd         
fi

内容的提问来源于stack exchange,提问作者Shourya Sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:15:03