2013-03-12 55 views
0

我正在尝试部署一些NodeJS应用与舰队:https://github.com/substack/fleet。我已经阅读过多次引用的博文,并且已经取得了部分成功的设置。舰队NodeJS部署教程

我可以服务器上:

创建舰队中心 - 我的开发机器上>fleet drone --hub=localhost:7000 --secret=beebop

我能 - >fleet hub --port=7000 --secret=beebop 创建舰队无人机:

添加默认车队回购 - >fleet remote add default --hub=172.16.10.147:7000 --secret=beebop

然后在服务器我又可以 生成一个节点的过程 - >fleet spawn -- app.js 3000与下面的输出:

drone#ubuntu 
└─┬ pid#bba906 
    ├── status: respawning 
    ├── commit: keystone-web/4eab770ded77b25a949795d0aed5727dd2783c4f 
    └── command: node app.js 

我看到在目录中部署应用,在那里我开始了舰队中心:

drwxr-xr-x 4 root root 4096 Mar 12 10:49 . 
drwxr-xr-x 4 root root 4096 Mar 12 10:10 .. 
drwxr-xr-x 8 root root 4096 Mar 12 10:49 myapp.4eab770ded77b25a949795d0aed5727dd2783c4f 
drwxr-xr-x 9 root root 4096 Mar 12 10:27 myapp.eb350403b214f1023aff8405552ca27454673463 
[email protected]:/opt/nodeapps/test/deploy$ 

我问题是我应该现在能够访问Web应用程序,例如本地主机//:3000?

当我尝试这样做时,Web浏览器报告没有地址。

舰队博客旁边是否有任何教程?我觉得我错过了一步。

在此先感谢,

回答

1

有关详细信息,请参阅脚本。这就是我所做的,对我的情况来说它工作得很好:

#!/bin/bash 
option1="development" 
option2="test" 
option3="demo" 
chosen="" 

echo please enter environment setting for fleet/node deployment 1: "'"development"'" 2: "'"test"'" 3: "'"demo"'" 
read env 

if [[ $env == 1 ]] 
    then 
     chosen=$option1 
elif [[ $env == 2 ]] 
    then 
     chosen=$option2 
elif [[ $env == 3 ]] 
    then chosen=$option3 
else 
    echo "you didn't enter a valid environment setting" 
      echo "your options are" "1:'"$option1"'" "or" "2:'"$option2"'" 
      exit 
fi 

echo deploying to "'"$chosen"'" 
sleep 1 
echo starting fleet deploy 
fleet deploy --remote=$chosen 
echo running npm install 
fleet exec --remote=$chosen npm install 
echo spawning application 
fleet spawn --remote=$chosen --env.NODE_ENV=$chosen node app.js 
fleet ps --remote=$chosen