在beantalk迁移调试期间进行重复部署时,如何在AWS .ebextension配置中使用命令测试

问题描述

我正在将应用程序从较旧的PHP 5.6 beantalk迁移到新的PHP 7.4 beantalk。该应用程序是一个API服务器,并使用了许多软件包,例如Phalcon,Sphinx和Geos。 在迁移过程中,我正在研究.ebextension配置并更新安装和配置这些软件包的命令,这通常意味着将它们更新为使用更高版本。

我遇到的困难是,当我获得成功安装软件包的命令并想继续执行下一个命令时,在随后的部署中对其进行调试,这是我用来确定是否第一个软件包的测试需要安装失败,因为已经安装。

例如

  02-build-sphinx:
    cwd: /tmp
    test: '[ ! -f /etc/init.d/searchd-api ] && echo "sphinx not installed"'
    command: |
      pecl channel-update pecl.php.net \
      && wget https://sphinxsearch.com/files/sphinx-2.3.2-1.rhel7.x86_64.rpm --no-check-certificate \
      && yum -y localinstall sphinx-2.3.2-1.rhel7.x86_64.rpm \
      && cp /tmp/services/sphinx/searchd-api /etc/init.d/ \
      && chmod 755 /etc/init.d/searchd-api \
      && echo "Sphinx Install Process complete"

因此,当我使该脚本正常工作,然后继续执行下一个脚本以安装Phalcon时,随后的每个eb部署都会出现如下错误:

2020-09-10 07:17:32,215 P30798 [INFO] ============================================================
2020-09-10 07:17:32,215 P30798 [INFO] Test for Command 02-build-sphinx
2020-09-10 07:17:32,217 P30798 [ERROR] Exited with error code 1
2020-09-10 07:17:32,218 P30798 [INFO] ============================================================

我的问题是我该如何进行测试以检测何时需要部署该应用程序,而不是已经存在时显示ERROR?

是否要添加IgnoreErrors:true是一个好的解决方案?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...