我有一個elasticbeanstalk環境,需要在部署應用程序之前運行powershell腳本並重新啓動。根據說明文件,按照說明文件提供支持AWS Elasticbeanstalk ebextensions服務器重啓錯誤「在構建過程中發生錯誤:[Errno 4]中斷函數調用」
如果系統在命令完成後需要重新啓動,系統將在指定的秒數後重新啓動。如果系統因命令而重啓,則Elastic Beanstalk將恢復到配置文件中的命令之後的位置。默認值是60秒。您也可以永久指定,但系統必須重新啓動才能運行其他命令。
然而,當我添加一個reboot命令到ebextensions config文件我從elasticbeanstalk以下異常
Error occurred during build: [Errno 4] Interrupted function call
服務器上的日誌已重新啓動後顯示該命令被執行,所以我假定錯誤是由應用程序部署階段的重新啓動造成的。
如果我刪除重新啓動命令,部署,等待它準備好,然後手動觸發重新啓動它工作正常。但這顯然是不可接受的。
我已經研究過部署鉤子文件系統的方法,但這也不起作用,並且似乎聽起來像它應該支持這種開箱即用的需求。
有沒有人有任何想法?
感謝您的答案,生病嘗試一下。一個問題,從文件的我認爲指定永遠需要手動重啓?從文檔 - 「如果系統在命令完成後需要重新啓動,系統將在指定的秒數後重新啓動」,然後「您也可以永久指定,但系統必須重新啓動,然後才能運行其他命令。」 –
是的,它絕對是這樣說的,但最好我可以告訴它,實際上並不適用於具體告訴系統通過命令重新啓動。如果你通過MSI安裝了一個軟件包或者其他軟件需要重新啓動系統,我認爲這與更多的相關。通過PowerShell調用Restart-Computer肯定會立即重啓。我還發現,如果您調用Restart-Computer或其他方法強制重新啓動,並且您的waitAfterCompletion時間不夠,無法完全重新啓動,則部署將會失敗。 – jstill