【发布时间】:2016-12-08 23:32:08
【问题描述】:
当我通过 Jenkins(代码部署插件)触发时,我收到以下错误 -
No such file or directory - /opt/codedeploy-agent/deployment-root/edbe4bd2-3999-4820-b782-42d8aceb18e6/d-8C01LCBMG/deployment-archive/appspec.yml
但是,如果我直接通过代码部署触发部署到同一个部署组,并在 S3 中指定相同的 zip(通过 Jenkins 触发器获得),则此步骤通过。
这是什么意思,我该如何找到解决方法?我目前正在集成一些东西,因此需要同时通过代码部署和 Jenkins 进行部署。当我需要确保较小的单元运行良好时,我将运行代码部署触发部署。
更新
只是提到另一点,以防万一。我以前在同一个 ec2 实例上使用不同的 codedeploy“应用程序”和“部署组”,并直接使用 jenkins 和代码部署进行部署。为了解决一些问题(据称由于部署失败而不允许覆盖现有文件),我删除了/opt/codedeploy-agent/deployment-root/<directory containing deployments> 目录中的所有内容,并尝试遵循this answer 中提到的内容。但是,请注意,我只删除了该目录中的项目。此后,我开始在部署存档中找不到此错误 appspec.yml。所以,然后我创建了一个新的应用程序和部署组,从那时起,我一直在努力。
因此,要考虑的另一点是我是否应该做一些进一步的清理,如果 jenkins 触发的部署仍然受到这些删除的影响(即使它指的是新的应用程序和部署组)。
【问题讨论】:
-
能否提供一份/opt/codedeploy-agent/deployment-root/edbe4bd2-3999-4820-b782-42d8aceb18e6/d-8C01LCBMG/deployment-archive 的内容列表?
-
@RodrigoM 目录
d-8C01LCBMG根本不存在于/opt/codedeploy-agent/deployment-root/edbe4bd2-3999-4820-b782-42d8aceb18e6/中。这似乎是一个旧的部署 ID,每次我尝试从 jenkins 构建时,它都会查找这个特定的构建。我不确定为什么当 appspec 文件存在于 zip 存档中时它会尝试查找此文件。是否有可能它无法在 applicationstop 步骤中访问文件并因此在存档中查找?还是不管这个,存档内容都被查看了? -
宾果游戏。请在下面查看我的答案。
标签: amazon-web-services jenkins deployment aws-code-deploy