我有一个托管在 github 上的项目,它使用 Travis.ci 构建并发布到 GitHub:
https://github.com/Roaders/rpi-garage-door/releases/tag/v1.1.0
目前这只是在版本中添加了一个 tgz 文件。这包括运行所需的捆绑包依赖项(这背后的想法是,npm install
在npm run build
树莓派上真的很慢,所以解压缩 tar 的速度要快一百万倍)。由于 travis 使用 64 位机器,因此生成的 tar 文件只能在 64 位上使用,因此作为升级过程的一部分,我们需要运行npm rebuild
- 这在 RPI 3 上仍然相当慢。
最初我想构建一个 32 位版本而不是 64 位版本,但我不知道如何在 travis 上配置它。我想我需要更改 npm 配置,所以我在我的.travis.yml
:
language: node_js
node_js: 12
script: npm run build-release
before_install:
npm set npm_config_arch ia32
但这不起作用。
我想做的第二件事是使用不同版本的节点构建我的项目的多个版本,然后将所有这些 tgz 文件添加到发布中。
这个解决方案:
非常接近我想要的,但对我不起作用,因为我需要重建的依赖项(epoll)不能用node-pre-gyp