6

Bir powershell komut dosyasını çalıştırmak ve uygulama dağıtılmadan önce yeniden başlatılması gereken bir elasticbeanstalk ortamım var. Dokümantasyona göre, bu dokümanAWS Elasticbeanstalk eb uzantıları sunucu yeniden başlatma hatası "Yapılandırma sırasında hata oluştu: [Errno 4] Kesintisiz işlev çağrısı"

belgelerine göre desteklenmektedir. Komut tamamlandıktan sonra sistem yeniden başlatma gerektiriyorsa, sistem belirtilen sayıda saniye geçtikten sonra yeniden başlatılır. Sistem bir komutun bir sonucu olarak yeniden başlarsa, Elastic Beanstalk yapılandırma dosyasındaki komuttan sonra noktaya döner. Varsayılan değer 60 saniyedir. Sonsuza dek belirtebilirsiniz, ancak başka bir komutu çalıştırmadan önce sistemin yeniden başlatılması gerekir. Bir ebextensions .config dosyasına bir yeniden başlatma komutunu eklediğinizde

Ancak elasticbeanstalk aşağıdaki istisna almak

Error occurred during build: [Errno 4] Interrupted function call 

sunucuda günlükleri gösteriyi boot ettikten sonra komut Öyle gerçekleştirildiğini Hata, uygulama dağıtımı aşamasında bir yeniden başlatmanın neden olduğunu varsayalım.

Yeniden başlatma komutunu kaldırırsam, dağıtırsanız, hazır olmasını bekleyin, ardından yeniden başlatmayı manuel olarak başlatır, iyi çalışır. Fakat bu kesinlikle kabul edilemez.

Dağıtım kancaları dosya sistemi yaklaşımına baktım ama bu da işe yaramıyor ve bu gereksinimi kutunun dışında desteklemesi gerektiğinde ses çıkarmıyor gibi görünüyor.

Herhangi bir fikri olan var mı?

cevap

5

Aynı sorunla karşılaştık. Kayıt defteri değişiklikleri ve yeniden başlatma gerektiren SSL ve TLS < 1.2'yi devre dışı bırakmamız gerekiyordu. Bizim geçici çözüm konteynır_commands bölümünde sonsuza kadar beklemek ile yeniden yapmaktır. Bu, düzgün bir şekilde yeniden başlatılıyor ve dağıtımdaki başarıyı tetikliyor gibi görünüyor. Ancak,, aslında, yeniden başlatmadan sonraki aşamalardan hiçbirini gerçekleştirmez; bu kod, yerleştirme konumundan gerçek son dosya hedefine (inetpub/wwwroot büyük olasılıkla) kodun yerleşik olarak yerleştirilmesini içerir. Bunu aşmak için, yeniden başlatmadan önce dosyaları yerel sıralama dizininden web köküne kopyalamanız için bir adım atın.

+0

Cevabınız için teşekkürler, deneyin. Bir soru, dokümanın sonsuza kadar belirttiğini düşündüğüm bir manuel yeniden başlatma gerektirecek? Dokümanlardan - "Komut tamamlandıktan sonra sistem yeniden başlatma gerektiriyorsa, sistem belirtilen sayıda saniye geçtikten sonra yeniden başlatılır" ve sonra da "Sonsuza dek belirtebilirsiniz, ancak başka bir komutu çalıştırmadan önce sistemin yeniden başlatılması gerekir." –

+0

Evet, kesinlikle öyle diyor, ama en iyi şekilde söyleyeyim ki, aslında sistemin komutla yeniden başlatılmasını söylüyorum. Bir MSI veya bir şey aracılığıyla bir paket kurmuş olsaydınız ve paketin bir sistemin yeniden başlatılmasını gerektiriyorsa bunun daha çok ilişkili olduğunu varsayıyorum. Powershell aracılığıyla Restart-Computer çağrısı, hemen yeniden başlatmalara neden olacaktır. Ayrıca, yeniden başlatmayı zorlamak için yeniden Başlat-Bilgisayar'ı veya diğer yöntemlerden birini çağırırsanız ve waitAfterCompletion öğesinin tam olarak yeniden başlatılmasının zamanını verecek kadar uzun olmadığını da fark ettim, dağıtım başarısız olur. – jstill

İlgili konular