运行当我通过詹金斯(代码部署插件)触发,我碰到下面的错误 -詹金斯触发代码部署在ApplicationStop一步失败,即使通过代码部署相同的部署组直接被成功
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-8C0 1LCBMG'不在'/ opt/codedeploy-agent/deployment-root/edbe4bd2-3999-4820-b782-42d8aceb18e6 /'里面。这似乎是一个旧的部署ID,每次我尝试从jenkins进行构建时,它都会查找这个特定的构建。我不确定为什么当apps档案出现在zip档案中时,它会试图寻找这个。是否有可能无法在应用程序停止步骤中访问该文件,从而在存档中查找?或者,无论如何,无论如何都会看到档案内容? –
宾果。请参阅下面的答案。 –