基于以下错误消息,codedeploy将我的存档文件夹复制到某个临时位置。我可以在Deployment-archive文件夹之后找到我的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和我的战争文件都压缩在S3中
如何解决此问题?
答案 0 :(得分:2)
发现了问题。我没有选择appec.yml和myapp文件并将其压缩,而是为它们创建了文件夹,然后创建了zip文件。 我应该仅通过选择文件来创建zip文件,而不为它们创建文件夹。 在这个问题上浪费了很多时间:(
答案 1 :(得分:2)
我也遇到了这个问题,因为我发现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文件,但未在路径“ /”中找到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:
答案 2 :(得分:1)
我在copydeploy下也遇到了这个问题,该问题一直使代码管道部署失败。 “ CodeDeploy代理在相对版本的相对路径“ appspec.yml”的解压缩版本目录中找不到AppSpec文件。
我采取的步骤: 1)从AWS测试模板复制appspec.yml,然后使用它修改为新的appspec.tml
2)请记住将文件压缩在文件夹本身内(而不是使用文件创建文件夹并将其压缩)