我在持續集成腳本中使用'eb deploy'。我有兩個問題:AWS'eb deploy'總是返回returncode 0
它總是返回返回碼0,即使有錯誤。這打破了我的部署管道,因爲沒有辦法檢測到錯誤。
僅在命令完成後才顯示輸出。
有什麼辦法讓'eb deploy'像任何普通腳本一樣工作並返回正確的錯誤代碼?
我在持續集成腳本中使用'eb deploy'。我有兩個問題:AWS'eb deploy'總是返回returncode 0
它總是返回返回碼0,即使有錯誤。這打破了我的部署管道,因爲沒有辦法檢測到錯誤。
僅在命令完成後才顯示輸出。
有什麼辦法讓'eb deploy'像任何普通腳本一樣工作並返回正確的錯誤代碼?
這是一個知道的問題報告上游here。您可以通過使用grep以非常簡單的方式解決它。而不是:
eb deploy
使用grep獲取成功字符串。這將返回一個非零的狀態(例如:失敗),如果它不能找到:
eb deploy | tee /dev/tty | grep "update completed successfully"
注意我如何使用的tee
確保輸出仍然可以在持續集成的門戶網站可以看到(在我的案例circleci)。
我的解決方案有點類似,雖然更復雜也更不可靠:我在shell腳本中包裝'eb deploy',並且正在搜索「ERROR:」而不是「更新成功完成」。謝謝! – andr111
你並不孤單https://forums.aws.amazon.com/message.jspa?messageID=713900。也許把它與亞馬遜一起,他們會直接幫助你,因爲他們似乎有這個人。您還可以解析原始文本輸出並查找失敗/成功消息,而不是依賴退出代碼。 – dotcomly