Circleci не завершит сборку при успешном запуске сервера

Я настроил CircleCI, AWS CodeDeploy и EC2 для совместной работы, поэтому после того, как я отправлю код в git, он ретранслируется в CircleCI, а затем в EC2 и запускает там сервер.

Все работает нормально, за исключением того, что сервер работает правильно, и CircleCI не дает мне статуса успешной сборки. Он всегда находится в "работающем" состоянии

appspec.yml

version: 0.0
os: linux
files:
  - source: /
    destination: /home/ubuntu
permissions:
  - object: /home/ubuntu/scripts
    pattern: "**"
    mode: 777
    type:
      - file
hooks:
  ApplicationStart:
    - location: scripts/start.sh
      timeout: 3800

start.sh

#!/bin/bash
node server.js

кто-нибудь знает, как это решить?


person Shih-Min Lee    schedule 30.10.2015    source источник


Ответы (1)


Агент хоста ожидает завершения вашего скрипта. Вам нужно запустить узел как демон.

#!/bin/bash
node server.js > /var/log/my_node_log 2> /var/log/my_node_log < /dev/null &

См. http://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting.html#troubleshooting-long-running-processes

person Jonathan Turpie    schedule 30.10.2015
comment
один вопрос. Я использовал pm2 для мониторинга своих процессов. Есть ли способ заставить это работать? Похоже, если я попытаюсь демонизировать pm2, pm2 даже не запустится. - person Shih-Min Lee; 03.11.2015