如何将 node.js 和节点应用程序部署到嵌入式目标?
How to deploy node.js and node application to embedded target?
我有一个 node.js 应用程序是我为我们的自定义 Arm/Debian 板开发的,目前 运行 正在 SD 卡上。对于生产,我将把它部署在我们主板的 eMMC 上。我们已经编写了一个脚本来将我们的 OS/filesystem/device 树复制到 eMMC,因此我们可以成功启动并 运行 我们的系统 - 但它缺少节点和任何自定义代码。从基础 OS,我目前手动构建节点并复制必要的源文件 - 所以我可以为此编写脚本。
但我想知道是否有一种方法可以自动构建节点和我的应用程序,这样我就可以克服 manual/script 设置生产系统的努力和时间?为了减少构建节点和复制文件的时间(如果我们必须批量生产很重要),是否可以 copy/clone 或 tar/un-tar 节点和关联的应用程序?是否有解决此类问题的最佳方法?
我最终编写了一个脚本,将节点和我的节点应用程序复制到 eMMC。在 Dominic Tancredi 在这里的回答:How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X) 和一般的侦查之间,我能够确定我需要复制的目录:
echo "Mounting eMMC for copying node.js and node app"
mkdir mnt
mount ${EMMCPARTITION} mnt || error_mount_emmc
echo "Copying node.js to eMMC partition"
cp -av /usr/local/lib/node_modules mnt/usr/local/lib/
cp -av /usr/local/include/node mnt/usr/local/include/
cp -av /usr/local/bin/node mnt/usr/local/bin/
cp -av /usr/local/bin/npm mnt/usr/local/bin/
mkdir -v mnt/usr/local/share/systemtap
mkdir -v mnt/usr/local/share/systemtap/tapset
cp -av /usr/local/share/systemtap/tapset/node.stp
mnt/usr/local/share/systemtap/tapset/
echo "Copying node app to eMMC partition"
cp -av /home/debian/app mnt/home/debian/
echo "Release mnount of eMMC"
umount ${EMMCPARTITION} || error_cp_emmc
rmdir mnt
我希望有一个记录在案的方法,但如果没有,我希望这对其他人有用。
我有一个 node.js 应用程序是我为我们的自定义 Arm/Debian 板开发的,目前 运行 正在 SD 卡上。对于生产,我将把它部署在我们主板的 eMMC 上。我们已经编写了一个脚本来将我们的 OS/filesystem/device 树复制到 eMMC,因此我们可以成功启动并 运行 我们的系统 - 但它缺少节点和任何自定义代码。从基础 OS,我目前手动构建节点并复制必要的源文件 - 所以我可以为此编写脚本。
但我想知道是否有一种方法可以自动构建节点和我的应用程序,这样我就可以克服 manual/script 设置生产系统的努力和时间?为了减少构建节点和复制文件的时间(如果我们必须批量生产很重要),是否可以 copy/clone 或 tar/un-tar 节点和关联的应用程序?是否有解决此类问题的最佳方法?
我最终编写了一个脚本,将节点和我的节点应用程序复制到 eMMC。在 Dominic Tancredi 在这里的回答:How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X) 和一般的侦查之间,我能够确定我需要复制的目录:
echo "Mounting eMMC for copying node.js and node app"
mkdir mnt
mount ${EMMCPARTITION} mnt || error_mount_emmc
echo "Copying node.js to eMMC partition"
cp -av /usr/local/lib/node_modules mnt/usr/local/lib/
cp -av /usr/local/include/node mnt/usr/local/include/
cp -av /usr/local/bin/node mnt/usr/local/bin/
cp -av /usr/local/bin/npm mnt/usr/local/bin/
mkdir -v mnt/usr/local/share/systemtap
mkdir -v mnt/usr/local/share/systemtap/tapset
cp -av /usr/local/share/systemtap/tapset/node.stp
mnt/usr/local/share/systemtap/tapset/
echo "Copying node app to eMMC partition"
cp -av /home/debian/app mnt/home/debian/
echo "Release mnount of eMMC"
umount ${EMMCPARTITION} || error_cp_emmc
rmdir mnt
我希望有一个记录在案的方法,但如果没有,我希望这对其他人有用。