如何忽略 CodeDeploy 挂钩中的错误?

问题描述 投票:0回答:1

我正在使用 Bitbucket 管道将 Node 应用程序安装到 EC2 Linux 实例。我的应用程序根目录下的 AppSpec.yml 文件定义了部署。在安装之前,我想停止目标服务器上运行的所有 Node 进程。这是我的 BeforeInstall 挂钩:

  BeforeInstall:
      - location: deploy/killallnode.sh
        timeout: 30
        runas: root

脚本里面的命令是:

killall node

部署失败,这是我在 AWS 中找到的内容:

LifecycleEvent - BeforeInstall
Script - deploy/killallnode.sh
[stderr]node: no process found

此错误是预料之中的。如何在命令行中抑制此错误,或配置 AppSpec 挂钩以忽略此错误?谢谢您的建议!

AWS Error Diagnostic

我尝试将脚本命令更改为:

killall node 2> /dev/null

这抑制了错误消息,但killall命令仍然返回错误代码1。

AWS Diagnostic

node.js amazon-ec2 bitbucket-pipelines aws-code-deploy bitbucket-aws-code-deploy
1个回答
0
投票

有一个属性可以控制它。 忽略应用程序停止失败

在 yaml 中的实现方式如下:

version: 0.0
os: linux
IgnoreApplicationStopFailures: true
files:
  - source: /
    destination: /api
hooks:
   ...etc...
© www.soinside.com 2019 - 2024. All rights reserved.