【问题标题】:Code Deploy DownloadBundle Error代码部署 DownloadBundle 错误
【发布时间】:2015-12-17 06:37:47
【问题描述】:

我已经配置了代码部署并工作了几个星期。它已设置为从可交付的 CI 服务器到代码部署。我们像这样部署(在容器中):

> pip install awscli aws deploy push --application-name $CD_APP_NAME
> --s3-location s3://$CD_BUCKET/$CD_KEY --ignore-hidden-files aws deploy create-deployment --application-name $CD_APP_NAME --s3-location
> bucket=$CD_BUCKET,key=$CD_KEY,bundleType=zip --deployment-group-name
> $CD_DEPLOYMENT_GROUP

最近代码部署已开始在 DownloadBundle 步骤中的每个自动部署失败,并出现错误:

> The request signature we calculated does not match the signature you
> provided. Check your key and signing method.

自几天前开始工作以来,我认为我们的配置方面没有任何变化。

我已尝试重新安装代码部署代理并从 s3 中删除部署包(让 CI 脚本重新创建它们)

【问题讨论】:

    标签: amazon-web-services continuous-integration continuous-deployment aws-cli aws-code-deploy


    【解决方案1】:

    可能的原因之一是 codedeploy-agent 版本已更新,您没有正确指定密钥和存储桶名称。

    确保您在下面的存储桶选项中仅使用存储桶名称,并在键中指定 zip(bundle) 的绝对路径(即,如果您的包在目录中,请确保您在键中指定目录名称而不是存储桶)

    aws deploy create-deployment  --application-name xxx-app-dev  --deployment-config-name CodeDeployDefault.OneAtATime   --deployment-group-name xxx-appgroup-dev  --s3-location **bucket=xxx-cd-builds**,bundleType=zip,**key=dev/20150706081741UTC/xxx.zip** --profile aws-dev-codedeploy
    

    【讨论】:

      【解决方案2】:

      Amit 的回答是我的问题的确切解决方案。使用 Jenkins/CodeDeploy 插件:

      https://wiki.jenkins-ci.org/display/JENKINS/AWS+Codedeploy+plugin

      给我这个错误是因为我混淆了我的“桶”和“前缀”路径。存储桶字段必须仅包含存储桶名称

      我的错误配置:

      • S3 存储桶:“我的存储桶/jenkins”
      • S3 前缀:“$BUILD_NUMBER”

      这将创建可用的 S3 路径,但 etag 将完全错误。

      正确的配置:

      • S3 存储桶:“我的存储桶”
      • S3 前缀:“jenkins/$BUILD_NUMBER”

      Amit Doshi 获得高五。你摇滚,伙计。

      【讨论】:

        猜你喜欢
        • 2018-12-20
        • 2014-04-09
        • 2023-03-04
        • 1970-01-01
        • 2016-12-10
        • 1970-01-01
        • 1970-01-01
        • 2019-08-05
        • 1970-01-01
        相关资源
        最近更新 更多