meteordockerdeploymentmeteor-blazemeteor-up

Meteor Up deployment error


I am deploying meteor app using Meteor Up. The development app is at the location /apps/proto/meteor/GatewayUI and i have the .deploy folder which is inside the GatewayUI folder. On giving the command "mup deploy", I get the following error

{ Error: spawn meteor ENOENT
at exports._errnoException (util.js:1018:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
at onErrorNT (internal/child_process.js:367:16)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
code: 'ENOENT',
errno: 'ENOENT', 
syscall: 'spawn meteor',  
path: 'meteor',  spawnargs:   
[ 'build',     
'--directory', 
'/tmp/mup-meteor-981e8b09-055e-4ffe-a50a-d73d07c1ac5f', 
'--architecture',      
'os.linux.x86_64', 
'--debug',
'--mobile-settings',
'/apps/proto/meteor/GatewayUI/settings.json' ] }
This error usually happens when meteor is not installed.

My mup.js is as follows:

module.exports = {
servers: {
one: {
  // TODO: set host address, username, and authentication method
  host: 'myhost',
  username: 'myusername',
  // pem: './path/to/pem'
  password: 'mypassword'
  // or neither for authenticate from ssh-agent
}
},

meteor: {
// TODO: change app name and path
name: 'GatewayUI',
path: '../../GatewayUI/',

servers: {
  one: {},
},

buildOptions: {
debug: true,
executable: 'meteor',

},

env: {
  // TODO: Change to your app's url
  // If you are using ssl, it needs to start with https://
  ROOT_URL: 'http://gatewayui.com',
  MONGO_URL: 'mongodb://localhost/meteor',
},

// ssl: { // (optional)
//   // Enables let's encrypt (optional)
//   autogenerate: {
//     email: 'email.address@domain.com',
//     // comma seperated list of domains
//     domains: 'website.com,www.website.com'
//   }
// },

docker: {
  // change to 'kadirahq/meteord' if your app is not using Meteor 1.4
  image: 'abernix/meteord:base',
  // imagePort: 80, // (default: 80, some images EXPOSE different ports)
},

// This is the maximum time in seconds it will wait
// for your app to start
// Add 30 seconds if the server has 512mb of ram
// And 30 more if you have binary npm dependencies.
deployCheckWaitTime: 60,

// Show progress bar while uploading bundle to server
// You might need to disable it on CI servers
enableUploadProgressBar: true
},
 mongo: {
  port: 27199,
  version: '3.4.1',
  servers: {
    one: {}
  }
 }
};

Solution

  • A couple of things for this to not happen 1) make sure Meteor is installed. In my case, it was installed, however, the path was not set. It happened, because I forgot to add the path permanently 2) Docker, Mongo, Meteor should be installed in effect. 3) Every time, mup setup must precede mup deploy.