gpt4 book ai didi

amazon-web-services - 没有 appspec 文件的 AWS cli 创建部署

转载 作者:行者123 更新时间:2023-12-05 02:51:55 26 4
gpt4 key购买 nike

有没有办法在不使用 appspec.yml 文件的情况下运行 AWS Codedeploy

我正在寻找一种方法来创建一种 100% 纯命令行方式来运行创建部署,而无需在 S3 存储桶中使用任何 yml 文件

最佳答案

我在网上找到了使用 YAML 输入但没有使用 JSON 输入的示例。虽然 YAML 有其优势,但在我看来,有时 JSON 更容易使用(例如在 bash/gitlab CI 脚本中)。

在不使用 S3 的情况下使用 JSON 调用 aws deploy 并在变量中构建 Appspec 内容的方法:

APPSPEC=$(echo '{"version":1,"Resources":[{"TargetService":{"Type":"AWS::ECS::Service","Properties":{"TaskDefinition":"'${AWS_TASK_DEFINITION_ARN}'","LoadBalancerInfo":{"ContainerName":"react-web","ContainerPort":3000}}}}]}' | jq -Rs .)

请注意末尾的 jq -Rs .:内容应该是 JSON-as-String 而不是实际 JSON 的一部分。使用 jq 我们转义 JSON。根据需要替换变量(AWS_TASK_DEFINITION_ARN、ContainerName 和 ContainerPort 等)

REVISION='{"revisionType":"AppSpecContent","appSpecContent":{"content":'${APPSPEC}'}}'

最后我们可以使用新修订创建部署:

aws deploy create-deployment --application-name "${AWS_APPLICATION_NAME}" --deployment-group-name "${AWS_DEPLOYMENT_GROUP_NAME}" --revision "$REVISION"

在 aws-cli/2.4.15 上测试

关于amazon-web-services - 没有 appspec 文件的 AWS cli 创建部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62869841/

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