根据以下错误消息,codedeploy 将我的存档文件夹复制到某个临时位置。我可以在部署存档文件夹后找到我的 archive.zip 文件夹。
CodeDeploy 代理在修订版相对路径“appspec.yml”的解压修订版目录中未找到 AppSpec 文件。该修订版本已解压到目录“/opt/codedeploy-agent/deployment-root/59a04892-4afd-4e82-9335-52e8b6047d4b/d-WZDFGDBHU/deployment-archive”,并且需要 AppSpec 文件,但在路径“/”中找不到opt/codedeploy-agent/deployment-root/59a04892-4afd-4e82-9335-52e8b6047d4b/d-WZDFGDBHU/deployment-archive/appspec.yml”。有关更多信息,请参阅 AWS 网站上的 AWS CodeDeploy Appspec 文档
但它在部署存档文件夹之后立即看起来是 appspec.yml 。但它位于deployment-archive/archive/appspec.yml
appspec.yml 和我的 war 文件都压缩在 S3 中
如何解决这个问题?
我也遇到了这个问题,因为我发现 CodeDeploy 正在用“/opt/codedeploy-agent/deployment-root/####yourNumberWillBeDifferent#####”处的日志/部署信息填充磁盘空间。我已删除此位置中的所有目录,并且在下一次部署时我遇到了此问题。我发现如果您将最新的目录保留在这个位置,那么您将不会收到错误。我最后做的是每小时运行一个脚本,删除该位置中除最新目录之外的所有目录。
您可能删除了文件夹“d-WZDFGDBHU”。CodeDeploy 查看了它在实例上执行的最后一次部署的日志/信息,并使用了其中的一些信息,但找不到它。这就是为什么它提到——
''' 修订版本已解压到目录“/opt/codedeploy-agent/deployment-root/59a04892-4afd-4e82-9335-52e8b6047d4b/d-WZDFGDBHU/deployment-archive”,并且需要 AppSpec 文件,但在以下位置找不到path "/opt/codedeploy-agent/deployment-root/59a04892-4afd-4e82-9335-52e8b6047d4b/d-WZDFGDBHU/deployment-archive/appspec.yml" ''' d-WZDFGDBHU 是最后一次部署的部署 ID是在您刚刚尝试的操作之前执行的。
我不知道为什么 CodeDeploy 需要引用最后的部署,但确实如此!
请注意,这仅发生在就地部署上 - 而不是蓝绿色部署。
我还发现了这一点——
CodeDeploy 保留了许多最新的部署,以便您回滚到以前的版本。默认情况下,它保留最后 5 个,但这可以使用 codedeploy 代理配置进行配置: https ://docs.aws.amazon.com/codedeploy/latest/userguide/reference-agent-configuration.html
控制它的设置是:max_revisions:
发现了问题。我没有选择 appec.yml 、 myapp 文件并压缩它们,而是为它们创建了文件夹,然后创建了 zip 文件。我应该只通过选择文件来创建 zip 文件,而不为它们创建文件夹。在这个问题上浪费了很多时间:(
| 归档时间: |
|
| 查看次数: |
6149 次 |
| 最近记录: |