Friday, 28 April 2017

Deploy meteor 1.4 on IBM Bluemix

Does someone know how to deploy meteor 1.4+ on IBM Bluemix?

Nothing seems to work.

meteor v 1.4.4.1
node.js v4.8.1
npm 4.2.0
mongodb 3.4.0

I tried demeteorizer github.com/XervoIO/demeteorizer but it doesn't figure out which version of nodejs it needs to set up.

I tried meteor buildpack github.com/ind1go/bluemix-buildpack-meteor, but it's 4+ years old, no way it'll work with meteor 1.4+.

I tried to run the application as a node.js one with the standard buildpack, I tried another from scalingo (github.com/Scalingo/nodejs-buildpack) which should support meteor better. This method is the one having the farest results even though I cannot succeed deploying. Here is the methode description:

  1. npm install --production
  2. meteor reset
  3. meteor build /build --architecture os.linux.x86_64
  4. cd /build && tar xvzf devance.tar.gz && chmod -R +w+x *
  5. cd /build/bundle/programs/server/ && npm install
  6. cd /build/bundle and create package.json with content:

    {
      "name": "myname",
      "version": "1.0.0",
      "dependencies": {
        "meteor-promise": "0.8.0",
        "fibers": "1.0.15",
        "promise": "7.1.1",
        "underscore": "1.5.2",
        "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e",
        "semver": "4.1.0",
        "node-gyp": "3.6.0",
        "node-pre-gyp": "0.6.34"
      },
      "scripts": {
        "start": "node main.js"
      },
      "engines": {
        "node": "4.8.1",
        "npm": "4.2.0"
      },
      "private": true
    }
    
    
  7. I test locally "node main.js", it works
  8. cf push my-app -b https://github.com/Scalingo/nodejs-buildpack.git and it fails with the following error message from Bluemix CF.

    ERR /home/vcap/app/programs/server/boot.js:356
    ERR }).run();
    ERR    ^
    ERR Error: Can't find npm module 'meteor-deque'. Did you forget to call 'Npm.depends' in package.js within the 'meteor' package?
    ERR     at Object.require (/home/vcap/app/programs/server/boot.js:200:17)
    ERR     at packages/meteor.js:677:32
    ERR     at packages/meteor.js:846:4
    ERR     at packages/meteor.js:1380:3
    ERR     at /home/vcap/app/programs/server/boot.js:303:34
    ERR     at Array.forEach (native)
    ERR     at Function._.each._.forEach (/home/vcap/app/node_modules/underscore/underscore.js:79:11)
    ERR     at /home/vcap/app/programs/server/boot.js:128:5
    ERR     at /home/vcap/app/programs/server/boot.js:352:5
    ERR     at Function.run (/home/vcap/app/programs/server/profile.js:510:12)
    OUT Exit status 1
    
    

It clearly doesn't find the demetorized meteor packages. Any solutions would help.

Thanks



via Alexandre

No comments:

Post a Comment