gpt4 book ai didi

aws-cloudformation - 如何通过cloudformation模板在codedeploy中添加 "Overwrite the content"

转载 作者:行者123 更新时间:2023-12-03 07:23:11 28 4
gpt4 key购买 nike

如何通过cloudformation模板在codedeploy中添加“覆盖内容”

我的模板很好并且正在运行,但是当我尝试部署新版本时,它给了我不同的错误。

如下图

  • 部署失败,因为此位置已存在指定文件。我确实删除了整个文件夹。
  • 指定位置的脚本:scripts/app_stop.sh 以 root 用户身份运行失败,退出代码为 1

LifecycleEvent - ApplicationStop脚本-scripts/app_stop.sh[stderr]未知操作“httpd”。

我已经启动并运行了 httpd。

编辑-我已在我的 DeploymentGroup 资源部分中指定了“IgnoreApplicationStopFailures: true”。

编辑 - 我的 app_stop.sh 如下所示 -

if [ -d /var/www/html/scripts ]; then
sudo rm -Rf /var/www/html/* /opt/codedeploy-agent/deployment-root/*
fi
isExistApp=`pgrep httpd`
if [[ -n $isExistApp ]]; then
sudo systemctl stop httpd
fi

编辑-添加了要更改的模板。

Group:
Type: AWS::CodeDeploy::DeploymentGroup
Properties:
ApplicationName: !ImportValue DeployName
Deployment:
IgnoreApplicationStopFailures: true
Description: 'Code Deploy to Train'
Revision:
RevisionType: S3
S3Location:
Bucket: '<sample>'
BundleType: 'zip'
Key: '<test>.zip'
Ec2TagFilters:
-
Key: 'Type'
Value: 'Train'
Type: 'KEY_AND_VALUE'
ServiceRoleArn: !GetAtt [PipeRole, Arn]

我需要将以下选项与此模板一起使用,并具有覆盖功能。

AWS CodeDeploy Additional Options

最佳答案

为了快速引用,这里是上面评论中提到的解决方案。

现在您可以在 appspec 文件中指定 file_exists_behavior。允许的值为 DISALLOW、OVERWRITE 或 RETAIN。

version: 0.0
os: linux
files:
- source: /
destination: /home/ubuntu/site
file_exists_behavior: OVERWRITE

关于aws-cloudformation - 如何通过cloudformation模板在codedeploy中添加 "Overwrite the content",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68931939/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com