kadirahq / mupvalidation部署失败

我尝试在Ubuntu 16.04上使用kadirahq/mup将应用程序部署到运行Ubuntu 16.04的Digital Ocean液滴。 我的应用程序在Meteor 1.4.1.1 ,并使用节点4.5.0报告。 我的机器的节点版本是6.6.0

我读了mup的常见问题,并试图增加deployCheckWaitTime ,并试图用高达2000值,没有任何变化。

在使用老版本的mupmupx之前,我已经成功地将这个应用程序部署到了这个液滴,但是开始出现问题并决定升级到新版本。

我也有提示关于js-bson ,我已经在这里logging,似乎也许有关: meteor:js-bson:无法加载c + + bson扩展,使用纯JS版本

我最初使用dockerImage: 'kadirahq/meteord' ,但在阅读这个问题后,我把它改为dockerImage: 'abernix/meteord:base' ,它成功地解决了这个问题,但用这个replace了它。

当我运行mup setup ,一切运行成功。 mup deploy将成功运行所有步骤,直到validation部署步骤:

 (node:2785) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: 

它吐出上面的,然后一堆东西,也吐在日志中,所以我把它放在下面。

mup logs --tail=200的输出是巨大的,每次运行时都会有所改变,但是我认为这是重复的:

 Error: $ROOT_URL, if specified, must be an URL at Error (native) at packages/meteor/url_server.js:8:1 at packages/meteor/url_server.js:19:1 at /bundle/bundle/programs/server/packages/meteor.js:1365:3 at /bundle/bundle/programs/server/boot.js:292:10 at Array.forEach (native) at Function._.each._.forEach (/bundle/bundle/programs/server/node_modules/underscore/underscore.js:79:11) at /bundle/bundle/programs/server/boot.js:128:5 > meteor-dev-bundle@0.0.0 install /bundle/bundle/programs/server > node npm-rebuild.js > bson@0.2.21 install /bundle/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/bson > (node-gyp rebuild 2> builderror.log) || (exit 0) make: Entering directory '/bundle/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/bson/build' CXX(target) Release/obj.target/bson/ext/bson.o bson.target.mk:94: recipe for target 'Release/obj.target/bson/ext/bson.o' failed make: Leaving directory '/bundle/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/bson/build' > kerberos@0.0.9 install /bundle/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/kerberos > (node-gyp rebuild 2> builderror.log) || (exit 0) make: Entering directory '/bundle/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/kerberos/build' CXX(target) Release/obj.target/kerberos/lib/kerberos.o kerberos.target.mk:100: recipe for target 'Release/obj.target/kerberos/lib/kerberos.o' failed make: Leaving directory '/bundle/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/kerberos/build' // references to a million node modules > bcrypt@0.8.7 install /bundle/bundle/programs/server/npm/node_modules/bcrypt > node-gyp rebuild make: Entering directory '/bundle/bundle/programs/server/npm/node_modules/bcrypt/build' CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.o SOLINK_MODULE(target) Release/obj.target/bcrypt_lib.node COPY Release/bcrypt_lib.node make: Leaving directory '/bundle/bundle/programs/server/npm/node_modules/bcrypt/build' bcrypt@0.8.7 /bundle/bundle/programs/server/npm/node_modules/bcrypt // references to a million different node modules { "meteor-dev-bundle": "0.0.0", "npm": "3.10.5", "ares": "1.10.1-DEV", "http_parser": "2.5.2", "icu": "56.1", "modules": "46", "node": "4.4.7", "openssl": "1.0.2h", "uv": "1.8.0", "v8": "4.5.103.36", "zlib": "1.2.8" } npm WARN meteor-dev-bundle@0.0.0 No description npm WARN meteor-dev-bundle@0.0.0 No repository field. npm WARN meteor-dev-bundle@0.0.0 No license field. => Starting meteor app on port:80 /bundle/bundle/programs/server/boot.js:333 }).run(); 

以下是我的.deploy/mup.js文件的相关部分:

 meteor: { name: 'boxes', path: '/home/blaine/Business/Boxes/boxes/', servers: { one: {} }, buildOptions: { serverOnly: true, }, env: { ROOT_URL: 'example.com', MONGO_URL: 'mongodb://localhost/meteor' }, // dockerImage: 'kadirahq/meteord' dockerImage: 'abernix/meteord:base', deployCheckWaitTime: 60 }, mongo: { oplog: true, port: 27017, servers: { one: {}, }, }, 

我也试图删除bcrypt包,我的运行meteor npm uninstall bcrypt并从我的package.json依赖关系中删除它: "bcrypt": "^0.8.7" ,并通过查看我的node_modules目录。 我用meteorbcrypt软件包取代了它。 不用找了。

事实certificate这比看起来简单得多。 大节点模块相关的输出是一个红鲱鱼,我认为是这样的。 然而,相关的部分是这样的: Error: $ROOT_URL, if specified, must be an URL

我的ROOT_URL没有包含http://协议。 添加它解决了这个问题。

对于未来的谷歌命中,我想补充一点,你的部署机器资源(RAM,CPU)将会发挥作用,你能够成功部署。

我的问题是我的数字海洋液滴的大小,但试图部署时的错误是不直观的任何方式..