2017-06-18 11 views
1

Ich habe ein Docker-Setup für nightwatch.js, Selen-Tests durch Selen-Gitter für eine Express-Server-Anwendung zu laufen. Wenn ich nur ein Andockfenster benutze und meine Nachtwachtests manuell nach dem Serverstart starte, scheint alles korrekt zu starten. Wenn ich sie als Teil eines Container-Befehls ausfühle (zB in meinem App-Server-Container-Befehl oder in einem neuen Container, der nur Nachtwächter ausführt), bekomme ich einen 503 schlechten Gateway-Fehler. Ich denke, dass es in meinem Docker-Setup eine Race-Bedingung gibt, die das verursacht. Gibt es eine Möglichkeit, um sicherzustellen, dass mein App-Server ordnungsgemäß gestartet wird, bevor meine Nachtwachtests ausgeführt werden?Nightwatch hält 502 schlechtes Gateway

Antwort

2

Präfix Ihren Befehl mit wait-for-it.sh Skript (Download ein und im Bild) setzen:

command: /wait-for-it.sh theotherservice:PORT -- your-previous-command 

wait-for-it.sh an den angegebenen Server warten: Port den Befehl auszuführen, die nach -- ist, so können Sie vermeiden die Wettlaufbedingung.

Verwandte Themen