Я запускаю phantomjs с определенными аргументами как часть моей работы.
Это работает на пользовательском сервере gitlab/gitlab-ci, я в настоящее время не использую контейнеры, я думаю, это упростит это.
Я начинаю phantomjs следующим образом:
- "timeout 300 phantomjs --ssl-protocol=any --ignore-ssl-errors=true vendor/jcalderonzumba/gastonjs/src/Client/main.js 8510 1024 768 2>&1 >> /tmp/gastonjs.log &"
Затем я запускаю свои тесты поведения, а затем снова останавливаю этот процесс:
- "pkill -f 'src/Client/main.js' || true"
Проблема заключается в том, что при выполнении теста соответствия не выполняется pkill, и тестовый запуск завершается, ожидая завершения phantomjs. Я уже добавил тайм-аут 300, но это означает, что я все еще жду 2 минуты после сбоя, и он в конечном итоге остановит его, пока тест все еще работает, когда они становятся достаточно медленными.
Я не нашел способ запустить какую-либо команду после запуска/очистки, которая также работает в случае сбоя.
Есть ли лучший способ сделать это? Могу ли я запустить phantomjs так, чтобы gitlab-ci не заботился о том, чтобы он все еще работал? может быть, нет?