Gol*_*den 16 software-distribution node.js raspberry-pi
我有一个Node.js应用程序,我想在Raspberry Pi上运行.
而且,我希望能够远程部署我的应用程序的新版本以及新版本的Node.js到Raspberry Pi.
基本上,如:
$ pi-update 192.168.0.37 node@0.11.4
$ pi-update 192.168.0.37 my-app@latest
我对如何将我的应用程序转移到Pi没有任何偏好,可能是推或拉.我不在乎(虽然我应该补充说,应用程序的代码可以从私有GitHub存储库获得).
此外,一旦部署了Node.js和/或我的应用程序,我希望可能正在运行的Node.js应用程序重新启动.
我怎么能这样做?我应该研究哪种软件?这是否可以使用Raspbian的工具轻松完成,或者我应该寻找第三方软件(devop工具,如Chef&co.),还是......?
任何帮助是极大的赞赏 :-)
Fre*_*ric 12
a)为了连续运行脚本,你可以使用像forever或pm2这样的工具,否则你也可以让你的应用程序成为你可以运行的raspian上的debian守护进程sudo <servicename> start(如果你运行的是Arch Linux,我的处理方式不同).
b)如果可以从Internet访问您的Raspberry,您可以使用GitHub挂钩(API文档)在每次将更改推送到存储库时运行.这个钩子基本上是你的Pi上的URL端点,它在本地运行一个小的shell脚本.
此脚本应该正常关闭您的应用程序,git pull为您的存储库执行操作并再次启动应用程序/服务.您也可以从本地计算机通过SSH触发此shell脚本,例如ssh pi@192.168.0.37 /path/to/your/script
更新脚本可能如下所示:
# change the 'service' command to your script runner of choice
service <yourapp> stop
cd /path/to/your/app
git pull
service <yourapp> start
c)远程更新Node本身的问题是,Raspberry Pi的官方二进制构建只是非常不规则,否则很容易用wget或curl下载/更新二进制文件.因此,大多数情况下,您需要在自己的计算机上交叉编译Node,或者花费大约两个小时在Pi上重新编译它.如果你想在GitHub上使用非官方版本,你可以安装它们,curl -# -L https://gist.github.com/raw/3245130/v0.10.17/node-v0.10.17-linux-arm-armv6j-vfp-hard.tar.gz | tar xzvf - --strip-components=1 -C /usr/local但是你需要检查每个版本的文件名.
| 归档时间: | 
 | 
| 查看次数: | 5612 次 | 
| 最近记录: |