2015-10-30 22 views
0

我已經設置了circleCI,AWS CodeDeploy和EC2協同工作,以便在我將代碼推送到git之後,它將轉到circleCI然後EC2並在那裏啓動服務器。circleci將無法完成建立在成功的服務器啓動

除了服務器運行正常,並且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 

人知道如何解決這個問題?

回答

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

+0

一切工作。謝謝! –

+0

一個問題。我用pm2來監視我的進程。有沒有辦法做到這一點?看來如果我嘗試將pm2守護進程,pm2甚至不會啓動.. –

相關問題