当前位置: 首页 > 面试题库 >

Jenkins触发的代码部署在ApplicationStop步骤失败,即使通过代码部署直接进行的相同部署组已成功运行

史昀
2023-03-14
问题内容

通过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“应用程序”和“
deployment组”,并且还直接使用jenkins和代码部署。为了解决某些问题(据称由于部署失败,不允许覆盖现有文件),我删除了/opt/codedeploy-agent/deployment-root/<directory containingdeployments>目录中的所有内容,试图按照此答案中提到的内容进行操作。但是,请注意,我只删除了该目录中的项目。此后,我开始在部署档案中找不到此错误appspec.yml。因此,然后我创建了一个新的应用程序和部署组,从那时起,我就开始研究它。

因此,要考虑的另一点是,如果jenkins触发的部署仍然受到这些删除的影响(即使它是指新的应用程序和部署组),我是否应该做进一步的清理。


问题答案:

作为其过程的一部分,CodeDeploy需要引用以前的部署以进行重新部署和部署回滚操作。这些引用在部署存档文件夹之外维护。如果按照指示手动删除这些存档,则CodeDeploy安装可能会严重损坏:以前部署的引用不再正确或不一致,并且部署将失败。

此时最好的办法是完全删除旧的安装,然后重新安装。这将使代码部署代理能够再次正常工作。

我已经学会了不手动删除/修改 任何
CodeDeploy安装文件夹或文件的艰难方法。即使更改应用程序或部署组,CodeDeploy也会自行解决,而无需进行任何手动清理。



 类似资料:
  • 最简单的部署 git clone git@github.com:i5ting/shop-api.git git clone git@github.com:i5ting/shop-admin.git git clone git@github.com:i5ting/shop-h5.git ftp上传 前提是在服务器上部署ftp服务器 推荐使用gulp和ftp部署 https://github.com

  • 有经验的C程序员在编写一个新程序时首先从make文件写起。同样的,使用NodeJS编写程序前,为了有个良好的开端,首先需要准备好代码的目录结构和部署方式,就如同修房子要先搭脚手架。本章将介绍与之相关的各种知识。 模块路径解析规则 我们已经知道,require函数支持斜杠(/)或盘符(C:)开头的绝对路径,也支持./开头的相对路径。但这两种路径在模块之间建立了强耦合关系,一旦某个模块文件的存放位置需

  • 我正在尝试使用内联编辑器重新部署一个以前工作的Python云函数。不改变来源或要求。txt,部署失败,错误消息如下: 功能日志提供以下详细信息: 这种情况从上周五开始,一直持续到今天。我还尝试了使用gcloud函数进行本地部署,在部署时我收到了类似的错误消息:

  • 问题内容: 我正在按照Push上的说明进行部署,以使用Jenkins测试和部署以python和Flask编写的Google App Engine应用。 测试位于应用程序的根文件夹中,该文件名为 执行外壳步骤中的命令是 我收到以下错误,由于我对Jenkins相当陌生,因此我不确定如何解决此问题。 问题答案: 这并不是一个真正的Jenkins问题-正如构建输出所指示的那样,您的shell脚本失败了,因

  • 我正在编写一个 Java EE 应用程序,使用 Jetty 作为应用程序服务器,以便在开发过程中使用。虽然(重新)部署速度很快,但我希望Java代码更改能够立即反映在正在运行的服务器中,而无需重新启动。(我已经在使用设置来查看对静态服务内容的即时更改)。 我看到过关于使用Maven Jetty插件和设置scanInterval来重新部署web上下文的问题,但这不是我想做的。我的Jetty服务器是从

  • 问题内容: 我正在尝试在Glassfish上运行Java Web服务。有一些初始化代码可以设置一些变量并从Glassfish环境本身中检索一些信息。我在@WebService类内的静态初始化程序中具有该代码,但是此代码似乎被调用为时过早,它在WebService端点部署后立即运行,而我需要在成功部署整个Web服务后才能运行。 我尝试将代码移到WebService类的构造函数中,但是只有当我进入Te