2015-07-02 4 views
2

Я пытаюсь запустить ионную подачу в фоновом режиме, поэтому я могу проверить ее через мое приложение rails на круге ci. Я думал, что смогу это сделать:Как запустить ионный в фоновом режиме

nohup bash -c "ionic serve --nolivereload --nobrowser &" 

Но, к сожалению, это не сработало. Кто-нибудь знает, как запустить его в фоновом режиме?

ответ

2

Почему вы хотите, чтобы он работал в фоновом режиме на CI?

Это должно быть в порядке, чтобы выполнить команду непосредственно перед обследованием:

ionic serve --nolivereload --nobrowser & 

Ваш CI должен убить всех срабатывающая процесс после его сделали ...

Update:

Если ваш CI не убивает вызванный процесс, вы можете сделать что-то вроде этого:

ionic serve --nolivereload --nobrowser & 
ionicpid=$! 
your_test_command_here 
kill -15 $ionicpid 

Он должен работать на CI, если все эти команды находятся в одной и той же работе.

+0

Проблема в том, что мне нужна команда «закончить», чтобы круг ci мог продолжить следующий. Приведенная выше команда все еще берет на себя командную строку и никогда не заканчивается. Поэтому circleci просто ждет навсегда, пока не истечет время и не выполнит следующую задачу. Попробуйте в своем терминале с помощью любого ионного приложения. Я не совсем уверен, как его вывод в командную строку даже с добавлением &, но это так. – Nick

+0

Хорошо, я не знаю о круге, но что-то в этом работает в Дженкинсе. Вы активируете «ионную подачу» в задании и ваш тест в другом? Или оба находятся в одной и той же работе? Мой ответ предполагал, что оба были в одной и той же работе – nfleury

+0

Я обновил свой предыдущий ответ, вы проверили тест и посмотрите, нормально ли это с этим – nfleury

6

Вы можете использовать screen:

screen -d -m -L ionic serve --nolivereload --nobrowser 
0

На CircleCI я нашел эту установку, чтобы работать хорошо

machine: 
    node: 
    version: v7.4.0 

test: 
    pre: 
    - npm run webdriver-update 
    - ionic serve --nolivereload --nobrowser --port 8101: 
     background: true 
    - sleep 15 

    override: 
    - npm run e2e 
0

Вот метод, который на самом деле работает (извините что так поздно)

sleep 999999999 | ionic serve -b & 

Я думаю, что есть простой способ в ионном v3, но это работает для v1

Смежные вопросы