我在持续集成脚本中使用了'eb deploy'。我遇到了 2 个问题:
-
它始终返回返回代码 0,即使存在错误也是如此。这会中断我的部署管道,因为无法检测到错误。
-
它仅在命令完成后显示输出。
有没有办法使"eb deploy"像任何普通脚本一样工作并返回正确的错误代码?
这是上游报告的一个已知问题。您可以通过以非常简单的方式使用 grep 来修复它。而不是:
eb deploy
使用 grep 获取成功字符串。如果找不到,这将返回非零状态(即:失败):
eb deploy | tee /dev/tty | grep "update completed successfully"
请注意我如何使用tee
来确保输出仍然可以在持续集成门户上看到(在我的例子中是 circleci)。